Patent Publication Number: US-6670916-B2

Title: Method and system for position calculation from calculated time

Description:
1. FIELD OF THE INVENTION 
     The present invention relates to navigation satellite receivers, and more particularly to methods and systems for aiding the initializing of navigation satellite receivers with limited prior knowledge of time and location. 
     2. DESCRIPTION OF THE PRIOR ART 
     Global positioning system (GPS) receivers use signals received from several earth-orbiting satellites to determine user position and velocity, and other navigational data. A navigation receiver that has just been turned on does not yet know where it is, how much its crystal oscillator is in error, nor what time it is. All these are needed to find and lock onto the satellite transmissions, and so a search must be made of all the possibilities. 
     Because the receiver and satellite clocks are not perfectly synchronized, such clock offset acts as an error on the distance to the satellite. The apparent distance is called the “pseudorange” (PR). The clock error can be computed by assuming all the pseudoranges to the different satellites will have the same clock offset in one measurement epoch. So four satellites are needed for a position fix, three for latitude, longitude and height or (X, Y and Z), and one for the clock offset. 
     Two different-length modulating codes are transmitted on two microwave carriers. The carrier wavelengths are nineteen and twenty-four centimeters. The precision (P) code is available only to authorized (military) users and does not have any ambiguity because its length is about 181,440,000,000 km, the distance traveled by light in one week. The coarse acquisition (C/A) code is much shorter and repeats every 300 km of radio wave propagation distance, so observations outside a range of 0-300 km can be ambiguous. Since the distance to a satellite is typically 20,000 km, which 300 km segment the receiver is in needs to be determined. This is called an integer ambiguity. 
     The Z-count is a 29-bit binary number that represents a fundamental GPS time unit. The ten most significant bits carry the GPS week number, and the nineteen least significant bits give the time of week (TOW) count in units of 1.5 seconds. A much finer gauge of the system time is available once the receiver locks onto a few satellites. Prior art devices have depended on determining the z-count during initialization. 
     Before GPS carrier phase observables can be used for positioning, the integer ambiguities must be resolved. The phase measurement is translated into a distance measurement. Conventional estimation techniques cannot solve the receiver coordinates, the clock offset and the integer ambiguities in one epoch of data, for all the satellites observed. Collecting a few epochs of data doesn&#39;t help much. Although there are enough equations, the problem is insoluble, since the satellite&#39;s geometry with respect to the receiver is not usually favorable enough. The integer ambiguity values can only be determined after a significant change in the geometry, unless an on-the-fly (OTF) technique is being used. 
     The two basic types of GPS positioning systems are real-time navigation and high-precision carrier phase positioning. Real-time navigation systems collect a minimum of four pseudorange (PR) measurements to four satellites. The PR measurements are used to solve for the three-dimensional coordinates of the receiver and the clock offset between the receiver oscillator and GPS system time. Differential GPS (DGPS) also collects the pseudorange observables, and further obtains real-time corrections for the errors inherent in the measurements. 
     Precise carrier-phase observations can be used to compute locations to within a few centimeters. Phase measurements of the short, different wavelengths of the two carriers (19-cm and 24-cm for L 1  and L 2  respectively), are used to resolve such. The whole number of complete wavelengths between the satellite and receiver, e.g., integer ambiguities, must first be determined. Post processing (static) or Real-Time (RTK) methods are used in the prior art that use linear combinations of the two frequencies and differencing techniques. The pseudorange can be combined with the phase data to reduce the noise error for much higher positioning accuracy. 
     During initialization, a navigation satellite receiver will search to find signal power from the available satellites. Which satellites are available depends on the respective satellites&#39; ephemeris, the user&#39;s position on earth, and the time. A little bit of prior knowledge of any or all of these can be used to abbreviate the time, space, and frequency spectrums that must be searched. The navigation satellite receiver will then be able to produce its first position and velocity solution much quicker. 
     Mobile GPS receivers can be aided in their initialization by a remote server that can provide time, position, and/or frequency information. Such a prior art scheme is described by Samir Soliman, et al., in U.S. Pat. No. 6,081,229, issued Jun. 27, 2000, and is incorporated herein by reference. 
     Gilbert Strang, a professor of mathematics at MIT, wrote an article about integer ambiguities in the Society for Industrial and Applied Mathematics (SIAM) News, Volume 30, Number 5, June 1997. He says the receiver must know the count of the number of radio wavelengths between the satellites and the receiver. Such count is an integer number of phase changes plus a fraction of a phase. The integer part is initially unknown and is ambiguous. Its resolution has to be right, because one missing wavelength means an error of 19 cm or 24 cm, depending on whether the L 1  or L 2  carrier is being measured. 
     Once the integer is known, it is important to keep track of it. A loss-of-lock caused by losing signal can result in cycle slips. The fractional part is obvious, but the whole number of cycles is hard to discover and takes time. In GPS, there might be dozens of integer ambiguities to determine simultaneously, and is a problem in integer least squares. This is identical to the nearest lattice vector problem in computational combinatorics, e.g., minimize (x−x 0 ) T A(x−x 0 ) for x in Z n . The minimum over R n  is clearly zero, at x=x 0 . The lattice point x, the ambiguity vector, is closest to x 0  in the metric of A. Such minimization over Z n  is such a difficult problem for large random matrices A, that its solution has been used by cryptographers to encode messages. 
     In GPS, the weighting matrix A sometimes involves distances between receivers, and the problem is hardest for a global network. The minimization is easy when A is diagonal, because the variables are uncoupled. Each component of x will be the nearest integer to the corresponding component of x 0 . But an ill-conditioned A severely stretches the lattice. A direct search for the best x becomes horrible. The natural idea is to precondition A by diagonalizing as nearly as possible, always keeping the change of basis matrices Z and Z −1  integral. Then y T (Z T AZ)y will be more nearly uncoupled than x T Ax, and y=Z −1 x will be integral exactly when x is. 
     SUMMARY OF THE INVENTION 
     It is therefore an object of the present invention to provide a method and system for navigation satellite reception and receiver initialization that can proceed without an initial Z-count. 
     It is another object of the present invention to provide a method and system for shortening the time needed for initialization of navigation devices. 
     It is a further object of the present invention to provide a satellite-navigation system that is inexpensive. 
     Briefly, a navigation-satellite receiver embodiment of the present invention comprises means for initialization that gets a head start by knowing time to within a few seconds and position to within 150 kilometers. A two-dimensional grid of points is setup with constant altitude that represents solution starting points within the 150 kilometer area. Fractional pseudoranges from each satellite in a constellation are inspected for a best initial fit with the points in the grid. A variety of time bias adjustments within the time bounds are also tried against the points to find a best fitting point. That point then is used to find the final solution and to produce the first fix from cold start. 
     An advantage of the present invention is that a system and method are provided that produce faster initialization times in navigation satellite receivers. 
     Another advantage of the present invention is that a system and method are provided for making simple and inexpensive navigation satellite receivers. 
     These and other objects and advantages of the present invention will no doubt become obvious to those of ordinary skill in the art after having read the following detailed description of the preferred embodiments which are illustrated in the various drawing figures. 
    
    
     IN THE DRAWINGS 
     FIG. 1 is a flowchart diagram of a first method embodiment of the present invention for initializing a satellite navigation receiver; and 
     FIG. 2 is a flowchart diagram of a second method embodiment of the present invention for initializing a satellite navigation receiver. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
     In general, a navigation-satellite receiver embodiment of the present invention comprises means for initialization that gets a head start by knowing time to within a few seconds and position to within 150 kilometers. A two-dimensional grid of points is setup with constant altitude that represents solution starting points within the 150 kilometer area. Fractional pseudoranges from each satellite in a constellation are inspected for a best initial fit with the points in the grid. A variety of time bias adjustments within the time bounds are also tried against the points to find a best fitting point. That point then is used in a drive to find the final solution and to produce the first fix from cold start. 
     In FIG. 1, a first method embodiment of the present invention for initializing a GPS receiver begins by assuming time is correctly known to within a few seconds, and the user&#39;s position is correctly known to within 150 kilometers from the true position. A method  100  begins with a step  102  in which approximate time and position are known, e.g., from data obtained from a third party or some local record keeping. In a step  104 , a GPS satellite vehicle (SV) is chosen that will be used in the fix. The selection depends on whether a satellite position-velocity (SPV) model is available, as well as a correction model. In a step  106 , measurements from the chosen SV are taken and propagated to the fix time. Corrections to the initial position and time are calculated. Such corrections get removed from the propagated measurements (“fracRange”). In a step  108 , the common mode bias is removed using a pivot scheme, e.g., (a) choosing a single SV to remove from the others, (b) removing an average of all SV&#39;s from each equation, or (c) a combination of these. 
     A constant-altitude grid is setup in a step  110 . The initial position is transformed from an earth-centered, earth-fixed (ECEF) to a longitude-latitude (LLA) type. In a step  112 , how large a change in latitude would be needed to move north to the next grid is calculated. In a step  114 , a similar calculation is made for how large a change in longitude would be needed to move east to the next grid. In a step  116 , starting at a south-west corner, the a priori residual (APR) is calculated. The predicted range at the current grid location is calculated by,          Φ     c   ,   i       =           Σ        (         x   →       s   ,   i       -       x   →     u       )       2       .                     
     The double difference is formed, 
     
       
           d diff=(fracRange i −fracRange pivot )−(Φ c,i −Φ c,pivot ). 
       
     
     Such double difference is then limited to ±C_m sec/2. Then, APR=Σddiff 2 . In a step  118 , the APR is compared with a minimum APR (minAPR 1 ), and if it is lower it is used to replace a variable “minAPR1”. 
     In a step  120 , a check is made to see if there is at least one grid point between the current value and minAPR 1 , if so the minAPR 2  is replaced with minAPR 1 . If the current value is greater than the minAPR 1 , and is less than minAPR 2 , a check sees if it is more than one grid point away from minAPR 1 . If so minAPR 2  is replaced with the current value. 
     In a step  122 , once two minimums have been found that are not at adjacent grid points, these minimums are used to solve for position and time. Linearizing the range equations around position and time,            [           -     (       U     x   ,   1       -     U     x   ,   piv         )             -     (       U     y   ,   1       -     U     y   ,   piv         )             -     (       U     z   ,   1       -     U     z   ,   piv         )             (         U   1     ·     v     s   ,   1         -       U   piv     ·     v     s   ,   piv           )               -     (       U     x   ,   2       -     U     x   ,   piv         )             -     (       U     y   ,   2       -     U     y   ,   piv         )             -     (       U     z   ,   2       -     U     z   ,   piv         )             (         U   2     ·     v     s   ,   2         -       U   piv     ·     v     s   ,   piv           )             ⋮       ⋮       ⋮       ⋮             -     (       U     x   ,   i       -     U     x   ,   piv         )             -     (       U     y   ,   i       -     U     y   ,   piv         )             -     (       U     z   ,   i       -     U     z   ,   piv         )             (         U   i     ·     v     s   ,   i         -       U   piv     ·     v     s   ,   piv           )           ]          {           Δ                 x               Δ                 y               Δ                 z               Δ                 t           }       =       {           ddiff   1               ddiff   2             ⋮             ddiff   i           }     .                     
     The result is measurement minus predicted. The delta pseudorange is limited to plus-or-minus one-half millisecond. If the time error is ignored, the result is the equivalent to the outdoor fix disregarding an integer millisecond value. This system is solved using an inverse method, maintaining a close eye on the values of the deltas. If the deltas or the user positions exceed expected bounds, the other minimum is used instead. For solution integrity, the sub-solutions are all initially solved without allowing time to change. This allows any spurious measurements that are found to be culled. 
     Therefore, iterating the last equation until deltas x, y, z, and t, are all zero will produce the four-dimensional solution, x-y-z and time. The final solution is forced to be within one grid step size. 
     FIG. 2 represents a second method embodiment of the present invention, and is referred to herein by the general reference numeral  200 . In a step  202 , the direction cosines are formed, e.g.,          R   ^     =           (       x   s     -     x   u       )     2     +       (       y   s     -     y   u       )     2     +       (       z   s     -     z   u       )     2                   U   x     =       (       x   s     -     x   u       )       R   ^                 U   y     =       (       y   s     -     y   u       )       R   ^                 U   z     =         (       z   s     -     z   u       )       R   ^       .                     
     A step  204  forms second direction cosines, e.g.,          R          R   ^     i       =     U   ·     (       v   s     -     v   u       )                       S   x     =                  ∂     (     R        R   ^       )         ∂     (     x   s     )                     =                        U   x   2          (       u   s     -     u   u       )       +       U   x            U   y          (       v   s     -     v   u       )         +       U   x            U   z          (       w   s     -     w   u       )             R   ^       -       (       u   s     -     u   u       )       R   ^                     =                  [       R        R   ^     *     U   x       -     (       u   s     -     u   u       )       ]       R   ^                       S   y     =       [       RR   *     U   y       -     (       v   s     -     v   u       )       ]     R                             S   z     =         [       RR   *     U   z       -     (       w   s     -     w   u       )       ]     R     .                     
     A step  206  forms a delta-range equation, 
     
       
         ΔInt i   C   m sec +(Φ i −Φ piv )−(corr i −corr piv )−( R   i   −R   piv )=−( U   i   −U   piv )·Δ{right arrow over ( x )}+( U   i   ·{right arrow over (v)}   i   −U   piv   ·{right arrow over (v)}   piv )Δ t   
       
     
     A step  208  forms delta range rate (DRR) equation, 
     
       
         ( RR   i   −RR   piv )−( R{circumflex over (R)}   i   −R{circumflex over (R)}   piv )=( S   i   −S   piv )·Δ x   u −( S   i   ·v   s,i   −S   piv   ·v   s,piv )Δ t −( U   i   −U   piv )·Δ v   u +( U   i   ·a   s,i   −U   piv   ·a   s,piv )Δ t   
       
     
     A pivot scheme is implemented in a step  210 . A step  212  adds two-dimension constraints,            U   ~       x   ,     2      D         =     BoAx         BoAx   2     +     BoAy   2     +     AoBz   2                       U   ~       y   ,     2      D         =     BoAy         BoAx   2     +     BoAy   2     +     AoBz   2                       U   ~       z   ,     2      D         =     BoAz         BoAx   2     +     BoAy   2     +     AoBz   2                     linRange     2      D       =       BA     +     alt   fix     -           BoAx   2     +     BoAy   2     +     AoBz   2         .                       
     A step  214  makes the two-dimension (2D) range constraint, 
     
       
           Ũ   x,2D   Δx   u   +Ũ   y,2D   Δy   u   +Ũ   z,2D   Δz   u   ={square root over (BA)} +alt fix   −{square root over (BoAx 2 +BoAy 2 +AoBz 2 )}.   
       
     
     A step  216  computes the two-dimension range rate equation, 
     
       
           Ũ   x,2D   Δu   u   +Ũ   y,2D   Δv   u   +Ũ   z,2D   Δw   u =0; 
       
     
     Where 
     A is the major earth axis=6,378,137.0 meters; 
     B is the minor earth axis=6,356,752.3141 meters; 
     BoA=B/A=0.996647189; 
     AoB=A/B=1.003364090; 
     “Alt” is the altitude of the current user&#39;s position; and 
     “Altfix” is the chosen altitude of the two-dimension fix. 
     Such two-dimension constraint gets attached to the bottom of {tilde over (H)} with the same sign convention as the other direction cosines. 
     There are seven unknowns that are not associated with individual SV&#39;s, namely, x, y, z, u, v, w, and t. Each SV there is associated with an unknown ΔInt i , the integer millisecond ambiguity between the i th  satellite and the pivot satellite. For each SV, except the pivot satellite, there are two equations. 
     For six SV&#39;s, there are their associated ten equations and five unknowns, and two two-dimension constraints. This results in a determined system of twelve equations and twelve unknowns. 
     A step  218  uses an H-Matrix. All the unknowns are put on the left side to form the H matrix,          [           -     C     m                 sec               -     (       U   i     -     U   piv       )           0         (         U   i     ·     v     s   ,   i         -       U   piv     ·     v     s   ,   piv           )             ⋮       ⋮       ⋮       ⋮           0         (       S   i     -     S   piv       )           -     (       U   i     -     U   piv       )             {       -     (         S   i     ·     v     s   ,   i         -       S   piv     ·     v     s   ,   piv           }       +     (         U   i     ·     a     s   ,   i         -       U   piv     ·     a     s   ,   piv           )       }             ⋮       ⋮       ⋮       ⋮           0           U   ~       2      D           0       0           0       0           U   ~       2      D           0         ]     ;                   
     Leaving a right hand side,          RHS   =     {             (       Φ   i     -     Φ   piv       )     -     (       corr   i     -     corr   piv       )     -     (         R   ^     i     -       R   ^     piv       )               ⋮               (       RR   i     -     RR   piv       )     -     (       R          R   ^     i       -     R          R   ^     piv         )               ⋮               BA     +     alt   fix     -         BoAx   2     +     BoAy   2     +     AoBz   2                   0         }       ;                   
     Thus must be solved,          H        {           Δ                 Int               Δ                 x               Δ                 v               Δ                 g           }       ;                   
     Where ΔInt i  is forced to be an integer. 
     This is solved in a step  220  using the matrix inverse. However, rather than use the inverse directly on H, it is used on H t H and RHS pre-multiplied by H t , 
     
       
         Δ=( H   t   H ) −1   H   t   RHS.   
       
     
     This is preferred because the trace of H t H −1  is the dilution of precision (dop) squared (dops 2 ), and indicates how sensitive each variable is to noise. 
     Embodiments of the present invention use fractional pseudoranges to find solutions. Artisans will understand that the full integer millisecond is not initially available because there is no means to compute it without bit transition time (BTT) or the Z-count, and so the full pseudorange is unknown. 
     In general, a grid of points is generated to mandate that computations start within a half millisecond of the true point, then a fractional RHS is used to drive the solution to an answer. 
     Although the present invention has been described in terms of the presently preferred embodiments, it is to be understood that the disclosure is not to be interpreted as limiting. Various alterations and modifications will no doubt become apparent to those skilled in the art after having read the above disclosure. Accordingly, it is intended that the appended claims be interpreted as covering all alterations and modifications as fall within the “true” spirit and scope of the invention.