Abstract:
The invention presented in this disclosure gives methods to estimate and compensate for the multi-path in a typical navigational or spread spectrum receiver. The multi-path delay is estimated based on the outputs of different correlators of the receiver. Unlike three correlators normally used, the present disclosure uses five correlators, namely, Early 2  (E 2 ), Early 1  (E 1 ), Prompt (P), Late 1  (L 1 ) and Late 2  (L 2 ). The possible multi-path scenarios are classified into six different cases depending upon the reflected signal delay and the errors are computed. Further, the algorithm in the present disclosure can be extended to any correlators spacing.

Description:
FIELD OF THE INVENTION  
       [0001]     The present invention relates generally to navigational and spread spectrum signal receivers. More specifically, it relates to techniques for estimating and compensating the error due to multi-path.  
       BACKGROUND OF THE INVENTION  
       [0002]     The global positioning system (GPS) is a satellite-based radio-navigation system built and operated by the United States Department of Defense. The system uses twenty-four satellites orbiting the earth at an altitude of about 11,000 miles with a period of about twelve hours. Some additional satellites may be present as spares. These satellites are placed in six different orbits such that at any time a minimum of six satellites are visible at any location on the surface of the earth except in the polar region. Each satellite transmits a time and position signal referenced to an atomic clock. A typical GPS receiver locks on to this signal and extracts the data contained in it. Using signals from sufficient number of satellites, a GPS receiver can calculate its position, velocity, altitude, and time.  
         [0003]     The GPS receivers can operate in many modes. In a “hot start” mode, the receiver already has the time, its last position, and the information on satellite position (also known in the art as almanacs or ephemeris) stored in its memory. The receiver can use this stored information to determine which satellites are probably visible, and it can then lock on those satellite signals in a short time. On the other hand, the receiver may have no prior data on its position, time, or almanacs stored. In this “cold start” mode, the receiver has to search for signals from all of the satellites present in the constellation. There are some other modes where partial information on time, position and almanacs are available and corresponding start mode is known as “warm start.” 
         [0004]     The GPS receiver has to acquire and lock on to at least four satellites in order to derive the position, velocity and time. Usually, a GPS receiver has many parallel channels, each receiving signals from a separate visible GPS satellite. The acquisition of the satellite signals involves a two-dimensional search of frequency and the PN code phase. Each satellite transmits a unique PN code which repeats every millisecond. The receiver locally generates a replica frequency and a replica code phase and correlates these with the received satellite signals. The PN code has to be searched in at least 2046 phases and the frequency search depends upon the Doppler frequency due to relative motion between the satellite and the receiver. Additional frequency variation may result due to local oscillator instability.  
         [0005]     The GPS receiver computes an estimate of the line-of-sight distance from the satellite to the receiver which may include errors due to receiver clock bias, and other effects. This estimated distance is known as the pseudo-range. The estimate of the pseudo-range often contains additional errors due to multi-path, i.e., the reflection of the signals by many objects like buildings, mountains, etc. as they propagate from the satellite to the receiver. This reception of both line-of-sight and reflected signals often results in the computation of inaccurate pseudo-range, and thus also introduces errors in the estimated position of the receiver. Due to the superposition of the direct and reflected signals (which are slightly delayed), the resulting correlation pattern deviates from its usual triangular shape exhibiting a multi-peak correlation curve. The earliest correlation peak corresponds to the direct signal, but the position of the peak may be shifted from its true position due to the superposition of the direct and reflected signals. This shift in the position of the correlation peak results in pseudo-range error and error in the computed receiver position. Further, the early and late correlators adjust their values to be equal and force the prompt correlator to remain at the center. Thus the prompt correlator represents the wrong peak. This has been discussed later in this section. This reception scenario may be more complex in the presence of plurality of reflected signals.  
         [0006]     There are several known methods available to estimate and compensate for the error due to multi-path. One of the most popular and widely used methods is the use of narrow correlators. The correlators in a spread spectrum or GPS receiver give the correlation values for different phase shifts between the received and local PN sequence. Usually the separation is about half of a chip, where a chip is one bit of the PN sequence. In GPS navigation, a half-chip delay corresponds to about 150 meters of distance. So, if the reflected signal has a pseudo-range which is 150 meters more than the direct signal, it contributes to the energy of the next correlator also known as L (late) correlator, rather than to the correct correlator known as P (prompt). Thus, the resulting correlation curve may shift the peak towards the L correlator. When the pseudo-range change is different from 150 meters, the correlation curve may take a different shape. When the correlators are placed closer than a half chip apart, a reflected signal may peak in one of these correlators, so the true and reflected signals may be separated. The use of narrow correlators, however, increases the hardware complexity and power consumption. Use of a multi-antenna system to nullify the gain in the direction of multi-path is another technique employed which is useful mostly in static conditions. The ground-plane and helical shield are useful only under static conditions. The other methods of multi-path mitigation include the one based on the level of stability of pseudo-range as given in U.S. Pat. No. 6,484,098, use of L 1  and L 2  signals as in U.S. Pat. No. 5,185,610, use of multi-bit correlators as in U.S. Pat. No. 6,393,046, based on data bits as in U.S. Pat. No. 5,963,601, velocity based as in U.S. Pat. No. 5,771,456, satellite trajectory based as given in U.S. Pat. No. 5,726,659, may be based on the variation in SNR, using wavelets or maximum likelihood (ML) or Minimum Mean-Square-Error (MMSE) methods. But most of these methods may not provide good multi-path mitigation below certain value of multi-path length or in some other cases it may involve lot of computation. Some of these techniques are useful only when one multi-path component is present while in practice there may be many possible reflected components.  
         [0007]     But recently, multi-path mitigation techniques based on correlator outputs such as Early(E), Prompt(P), Late(L) have been developed. These are based on the fact that the earliest component at the receiver is the direct signal while various reflected signals arrive later and contribute to the later correlator outputs. The patent application publication US2005/0032477A1 of Qualcomm Inc uses stored correlation curves and compares them with the present correlation curve to determine the multi-path. This stored patterns technique also includes mathematical models. But this requires lot of storage memory and also the comparison may not hold good under all conditions. The U.S. Pat. Nos. 5,692,008 issued to NovAtel and 6,917,644 issued to SiRF determine the shift in prompt correlator position due to the requirement E=L, the E and L being subjected to different levels of reflected signal power. The SiRF patent takes into account only the E, P and L correlators in determining multi-path while the NovAtel does not specifically give any number of correlators. Another method reported in the mitigation of the multi-path effect is the double delta technique. This technique uses five correlators but it has the disadvantage that it requires a high precision measurement of E 2 , E 1 , L 1  and L 2  values because the measured differences (E 1 −L 1 ) and (E 2 −L 2 ) are usually very small.  
         [0008]     Accordingly, there is a need in the art for a navigational satellite signal receiver to be able to detect and compensate for the multi-path effects beyond E, P and L correlators.  
       SUMMARY OF THE INVENTION  
       [0009]     The invention presented in this disclosure provides methods to estimate and compensate for the multi-path error in a typical navigational or spread spectrum receiver. The multi-path delay is estimated based on the outputs of different correlators of the receiver. Unlike three correlators normally used, the present methods use five correlators, namely, Early 2  (E 2 ), Early 1  (E 1 ), Prompt (P), Late 1  (L 1 ) and Late 2  (L 2 ). The possible multi-path scenarios are classified into six different cases depending upon the reflected signal delay and the errors are computed. Further, the methods can be extended to any correlator spacing.  
         [0010]     According to one aspect of the invention, a method of detecting and compensating for receiver timing errors due to multi-path in a spread spectrum receiver is provided. The method includes receiving signals from a remote transmitter and generating a local PN sequence that is then correlated with the received signals. The correlation is performed at five different code phases to produce five corresponding correlation values. The five different code phases are separated by an interval of at least one-third of a chip of the local PN sequence. Using at least one of the five correlation values, a time delay error due to multi-path error is estimated. The estimated time delay error is then used to compensate a receiver timing error due to the multi-path.  
         [0011]     In a preferred embodiment, the time delay error is estimated using a single mathematical expression for all delays and polarities of a received reflected signal. The time delay error may be estimated, for example, by determining from the correlation values one of multiple formulas, and then calculating the time delay error using the determined formula. Already available power values from different correlators may be used to improve accuracy of the estimated time delay error.  
         [0012]     The method may also include refining a code-phase increment by averaging a ratio of the power of a second correlator to a prompt correlator. The averaging may be, for example, a moving average or other smoothing technique. Preferably, the averaging uses an averaging period larger than a multi-path period. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0013]      FIG. 1  is a block diagram illustrating a GPS baseband section according to an embodiment of the invention.  
         [0014]      FIG. 2A  is the ideal correlation of a PN sequence used in a spread spectrum communication.  
         [0015]      FIG. 2B  is a typical correlation curve with both the direct and a single reflected or multi-path signal.  
         [0016]      FIG. 3  is the ideal correlation triangle for a correlator spacing of ⅓ of a chip.  
         [0017]      FIG. 4  is a typical correlation curve with both the direct and a single reflected or multi-path signal with a correlator spacing of ⅓ of a chip.  
         [0018]      FIG. 5  shows a graph of the theoretical multipath effect as a plot of time shift between the correlation maximum values due to direct and reflected signals (τ) versus the delay in chips (δ).  
         [0019]      FIG. 6  shows the multipath correction using τ 0 =E 2 −⅓.  
         [0020]      FIG. 7  shows the multipath correction bias using τ 0 =E 2 −⅓.  
         [0021]      FIG. 8  shows the multipath correction when E 1 +E 2 &gt;P and E 1 +E 2 &lt;P based on E 1  and E 2 .  
         [0022]      FIG. 9  shows the multipath error for  FIG. 8 .  
         [0023]      FIG. 10  shows the multipath correction when E 1 +E 2 &gt;P and E 1 +E 2 &lt;P based on E 1  and L 1 .  
         [0024]      FIG. 11  shows the multipath error for  FIG. 10 .  
         [0025]      FIG. 12  shows the measured and computed multipath correction data for PRN  20 .  
         [0026]      FIG. 13  illustrates a computation formula applied to three cases: (1) any α, (2) when α≧0, and (3) when α&lt;0.  
         [0027]      FIG. 14  is a flowchart illustrating a multipath error estimation technique according to an embodiment of the invention. 
     
    
     DETAILED DESCRIPTION  
       [0028]     A receiver according to an embodiment of the present invention is illustrated in  FIG. 1 . An intermediate frequency (IF) signal input  101  enters a baseband section of the receiver from an analog-to-digital converter (ADC) output of a conventional RF front-end  100 . The IF input is multiplied in IF mixers  102  and  103  in-phase and in quadrature, respectively, with a local frequency signal generated by a direct digital frequency synthesizer (DDFS)  106 . This mixing involves multiplying the ADC output  101  by the local DDFS frequency in-phase which generates the in-phase (I) component  107 . In a parallel path the same signal  101  is multiplied by the DDFS frequency in quadrature (i.e., with a phase shift of 90 degrees) to produce quadrature (Q) component  108 . The DDFS  106  is driven by a carrier numerically controlled oscillator (NCO)  105 . In addition, carrier NCO  105  receives phase and frequency corrections from a processor  113 . Because of this correction, the DDFS frequency and phase is almost the same as that of ADC output  101 . Thus the I and Q signals produced by the IF mixers  102  and  103  are baseband signals, i.e., near zero carrier frequency. The I and Q signals may be low-pass filtered to remove the high frequency components which are equal to twice the IF frequency band.  
         [0029]     The I and Q components  107  and  108  are correlated in correlators  109  and  110 , respectively, with a locally-generated PN sequence generated by a PN generator  111 . The PN-sequence corresponds to the channel being processed by the baseband section at that time. The PN sequence generator is driven by code NCO  112 . The local code generator frequency is made equal to the code rate of I and Q paths by corrective feedback from processor  113  to the code NCO  112 . In addition, processor  113  sends a signal to PN code generator  111  to set the starting phase of the locally generated code. The NCO  112  provides the correct clock signals to correlators  109  and  110 . For example, NCO  112  provides a clock signal to generate two samples per PN chip in the signal acquisition stage and three samples per chip during the tracking stage. SYS CLK  104  provides to NCO  105  and NCO  112  a common clock synchronization signal. The correlator output values are then sent to processor  113  at every millisecond interval. The processor  113  may be a digital signal processor (DSP) core. Subsequent processing of the signals takes place in the processor  113 , as will be described in detail below. Additional details of the receiver baseband section described above are contained in U.S. patent application Ser. No. 11/123,861 filed May 6, 2005, which is incorporated herein by reference.  
         [0030]     The DSP core  113  receives one millisecond integrated (correlated) I and Q values from the GPS baseband section described above. In order to acquire a GPS signal in the DSP processor, all dwells (i.e., pairs of carrier frequency and code phase values) are searched. It is a two-dimensional search. Coherent integration and non-coherent integration are two commonly used integration methods to acquire GPS signals. Coherent integration provides better signal gain at the cost of larger computational load, for equal integration times.  
         [0031]     A spread spectrum or navigation receiver employing spread spectrum techniques compares or correlates the received signal samples with the locally generated replica, both being spread by the same PN sequence. The phase of the local replica is changed until a high correlation value indicative of the synchronization has been reached. The correlation value curve usually has a triangular shape as shown in  10  of  FIG. 2A . The maximum of 1023 (for Gold code of length 1023) for zero phase offset is shown as  11  and linearly decreasing to −1 when the phase offset is one chip on either side of the maximum as indicated by  12  and  13 . Alternatively, the high correlation point can be represented by a normalized value of 1 and the lower value is −1/1023.  
         [0032]      FIG. 2B  represents the variation of the correlation value when a reflected signal or multi-path is present. The correlation due to the superposition of the direct and reflected signal is shown by the curve  210 . The non-linear curve  210  consists of various linear components  211 ,  212 ,  213 ,  214  and  215  due to the superposition of the direct and multi-path signals. The correlation triangle due to the direct signal is represented by the sides  221  and  222 . The correlation triangle due to the reflected signal is represented by the sides  231  and  232 . The superposition of these two triangles results in the correlation curve  210 . The portion  211  is due to the direct signal, the portion  212  is due to the superposition lead sides  221  and  231  of direct and reflected signals, respectively. The linear portion  213  is the result of superposition of trailing edge  222  of the direct signal and leading edge  231  of the reflected signal. The linear portion  214  of the resultant signal is due to the superposition of the trailing edge  222  of the direct signal and  232  of the reflected signal and finally the linear portion  215  is due to the trailing edge of the reflected signal. The delay between the direct signal and the reflected signal is given by  202  or δ shown as the distance between the correlation peaks. The correlation peak value is 1 for the direct signal while for the reflected signal it is α. A basic spread spectrum or GPS receiver usually has three correlators the Early (E), prompt (P) and Late (L). While a signal is being tracked, the power level of E as given by  203  and the power level  204  represented by L will be forced by Delay Lock Loop (DLL) of the receiver such that power of E=power of L. This will force the prompt correlator to be at the center of E and L at P indicated as  205 . The corresponding correlation power will be equal to (D 1 +D 2 ) where D 1  is the correlation power of E or L. Thus it is seen from the  FIG. 2B , that prompt correlator has been shifted by τ 0  with respect to the peak of the direct signal. Thus τ 0  represents the error in time computation due to the multi-path. This error has to be determined to correct for any multi-path error in the pseudo-range.  
         [0033]     When correlators are spaced more closely, there will be more than one Early and Late points on the early-side and late-side edge of the correlation curve. In one of the embodiments considered here and shown in  FIG. 3 , there are two early correlators denoted as  305  (E 1 ) and  304  (E 2 ) and two late correlators denoted as  306  (L 1 ) and  307  (L 2 ). The positioning of these correlators and corresponding auto-correlation values are also shown in  FIG. 3  for direct signal with no multi-path. In general, the five different code phases that generate the E 1 , E 2 , P, L 1 , L 2  correlation values are separated by an interval of at least one-third of a chip of the local PN sequence. In the case shown in  FIG. 3 , the correlation value at  305  or  306  is ⅔ of the value at  301  while it is ⅓ at  304  and  307 . As already seen, the triangular form will be distorted when multi-path is present.  
         [0034]     Using at least one of the five correlation values, a time delay error due to multi-path error is estimated. The estimated time delay error is then used to compensate a receiver timing error due to the multi-path. In a preferred embodiment, the time delay error is estimated using a single mathematical expression for all delays and polarities of a received reflected signal. Based on the correlation values, a multipath scenario and corresponding formula is determined. The time delay error is then calculated using the selected formula, as will be described in detail below.  
         [0035]     A mathematical analysis is presented below to determine the power of various correlators under different delays of reflected signal. Under ideal conditions with no multi-path the triangular correlation given in  FIG. 1  may be represented by,  
               R   ⁡     (   t   )       =     {             1   -        t          ,                t        ≤   1               0   ,                t        ≥   1                     (   1   )             
 
         [0036]     Where R(t) is the correlation value and t is the delay between the two correlating signals. The following analysis has been made for Early Late spacing at 1 chip and also a detailed analysis for Early Late spacing at ⅔ chip. The section A is on Early Late spacing at 1 chip while section B is for a spacing at ⅔ chip.  
         [0000]     A. Early Late Spacing at 1 Chip  
         [0037]     The values of Early (E), Late (L) and Prompt (P) for Early Late spacing of one chip duration may be given as, 
 
 E=R (τ 0 −0.5)+α R (0.5−τ 0 +δ)  (2) 
 
 L=R (τ 0 +0.5)+α R (0.5+τ 0 −δ)  (3) 
 
 P=R (τ 0 )+α R (τ 0 −δ))  (4) 
 
 where τ 0  is the time error due to multi-path, α is the maximum correlation due to the reflected signal and δ is the time shift between the correlation maximum values due to direct and reflected signals. These variables are illustrated in  FIG. 2B . 
 
         [0038]     When the signal is being tracked, the Delay Lock Loop (DLL) will force E=L and the following equation can be derived:  
               τ   0     =       α   ⁢           ⁢   δ       1   +   α               (   5   )             
 
 under the condition δ&lt;τ 0 +0.5, and  
               τ   0     =       α   ⁡     (     1.5   -   δ     )         2   -   α               (   6   )             
 
 under the condition that δ&gt;τ 0 +0.5. 
 
 B. Early Late Spacing at ⅔ Chip 
 
         [0039]     The correlator spacing is as shown in  FIG. 3  where the E 1  and L 1  are spaced at ⅔ chip apart. There is another set of correlators E 2  and L 2  which are at ⅓ chip away from E 1  and L 1 , respectively. Both of these sets can be used to determine the time error due to multi-path. The peak, P, is at the center.  
         [0040]     When multi-path is present, the correlation values are shown in  FIG. 4 . The E 1 , E 2 , L 1 , L 2  and P for this case are: 
 
 E 2= R (⅔−τ 0 )+α R (⅔−τ 0 +δ)  (7) 
 
 E 1 =R (⅓−τ 0 )+α R (⅓−τ 0 +δ)  (8) 
 
 P=R (τ 0 )+α R (τ 0 −δ))  (9) 
 
 L 1 =R (⅓+τ 0 )+α R (⅓+τ 0 −δ)  (10) (10) 
 
 L 2 =R (⅔+τ 0 )+α R (⅔+τ 0 −δ)  (11) 
 
         [0041]     Different cases, in which the shift  8  takes values in different ranges can be considered as follows: 
 
CASE 1: δ≦τ 0 +⅓
 
         [0042]     In this case we have  
                     E   ⁢           ⁢   2     =       ⁢       R   ⁡     (       2   /   3     -     τ   0       )       +     α   ⁢           ⁢     R   ⁡     (       2   /   3     -     τ   0     +   δ     )                       =       ⁢     1   -     (       2   /   3     -     τ   0       )     +     α   ⁡     (     1   -     (       2   /   3     -     τ   0     +   δ     )       )                     =       ⁢         (     1   +   α     )     /   3     +       τ   0     ⁡     (     1   +   α     )       -     α   ⁢           ⁢   δ                     (   12   )                       E   ⁢           ⁢   1     =       ⁢       R   ⁡     (       1   /   3     -     τ   0       )       +     α   ⁢           ⁢     R   ⁡     (       1   /   3     -     τ   0     +   δ     )                       =       ⁢       (     1   -     (       1   /   3     -     τ   0       )       )     +     α   ⁡     (     1   -     (       1   /   3     -     τ   0     +   δ     )       )                     =       ⁢         2   /   3     ⁢     (     1   +   α     )       +       τ   0     ⁡     (     1   +   α     )       -     α   ⁢           ⁢   δ                     (   13   )                       L   ⁢           ⁢   1     =       ⁢       R   ⁡     (       1   /   3     +     τ   0       )       +     α   ⁢           ⁢     R   ⁡     (       1   /   3     +     τ   0     -   δ     )                       =       ⁢     1   -     (       1   /   3     +     τ   0       )     +     α   ⁡     (     1   -     (       1   /   3     +     τ   0     -   δ     )       )                     =       ⁢         2   /   3     ⁢     (     1   +   α     )       -       τ   0     ⁡     (     1   +   α     )       +     α   ⁢           ⁢   δ                     (   14   )                       L   ⁢           ⁢   2     =       ⁢       R   ⁡     (       2   /   3     +     τ   0       )       +     α   ⁢           ⁢     R   ⁡     (       2   /   3     +     τ   0     -   δ     )                       =       ⁢     1   -     (       2   /   3     +     τ   0       )     +     α   ⁡     (     1   -     (       2   /   3     +     τ   0     -   δ     )       )                     =       ⁢         1   /   3     ⁢     (     1   +   α     )       -       τ   0     ⁡     (     1   +   α     )       +     α   ⁢           ⁢   δ                     (   15   )             
 
         [0043]     The DLL will force E 1 =L 1 . The following equations can be derived:  
               τ   0     =       α   ⁢           ⁢   δ       1   +   α               (   16   )                 E   ⁢           ⁢   2     =       (     1   +   α     )     /   3             (   17   )                 E   ⁢           ⁢   1     =     2   ⁢       (     1   +   α     )     /   3               (   18   )                 L   ⁢           ⁢   1     =     2   ⁢       (     1   +   α     )     /   3               (   19   )                   L   ⁢           ⁢   2     =       (     1   +   α     )     /   3       ⁢     
     ⁢       If   ⁢           ⁢   α     ≥     0   ⁢           ⁢   then               (   20   )                       P   =       ⁢       R   ⁡     (     τ   0     )       +     α   ⁢           ⁢     R   ⁡     (       τ   0     -   δ     )             )               =       ⁢     1   -     τ   0     +     α   ⁡     (     1   -     (     δ   -     τ   0       )       )                     =       ⁢     1   +   α   -     τ   0     +     α   ⁢           ⁢     τ   0       -     α   ⁢           ⁢   δ                     (   21   )                   τ   0     =       3   ⁢       (       E   ⁢           ⁢   1     +     L   ⁢           ⁢   1       )     /   8       -     P   /   2         ⁢     
     ⁢   or           (   22   )                 τ   0     =         (       E   ⁢           ⁢   1     +     E   ⁢           ⁢   2     +     L   ⁢           ⁢   1     +     L   ⁢           ⁢   2       )     /   4     -     P   /   2               (   23   )                     τ   0     =         (       E   ⁢           ⁢   1     +     E   ⁢           ⁢   2       )     /   2     -     P   /   2         ⁢     
     ⁢       If   ⁢           ⁢   α     &lt;     0   ⁢           ⁢   then         ⁢                   (   24   )                       P   =       ⁢       R   ⁡     (     τ   0     )       +     α   ⁢           ⁢     R   ⁡     (       τ   0     -   δ     )             )               =       ⁢     1   +     τ   0     +     α   ⁡     (     1   -     (     δ   -     τ   0       )       )                     =       ⁢     1   +   α   +     τ   0     +     α   ⁢           ⁢     τ   0       -     α   ⁢           ⁢   δ                   =       ⁢     1   +   α                   (   25   )                   3   ⁢       (       E   ⁢           ⁢   1     +     L   ⁢           ⁢   1       )     /   8       -     P   /   2       =   0           (   26   )             
 
         [0044]     In this case, there is no way to derive τ 0  and δ from E 1 , L 1  and P. 
 
CASE 2: τ 0 +⅓&lt;δ≦τ 0 +⅔  (27) 
 
         [0045]     No multipath relfection on E 2 . In this case have  
               E   ⁢           ⁢   2     =       R   ⁡     (       2   /   3     -     τ   0       )       =       1   -     (       2   /   3     -     τ   0       )       =       1   /   3     +     τ   0                   (   28   )                       E   ⁢           ⁢   1     =       ⁢       R   ⁡     (       1   /   3     -     τ   0       )       +     α   ⁢           ⁢     R   ⁡     (       1   /   3     -     τ   0     +   δ     )                       =       ⁢       (     1   -     (       1   /   3     -     τ   0       )       )     +     α   ⁡     (     1   -     (       1   /   3     -     τ   0     +   δ     )       )                     =       ⁢         2   /   3     ⁢     (     1   +   α     )       +       τ   0     ⁡     (     1   +   α     )       -     α   ⁢           ⁢   δ                     (   29   )                       L   ⁢           ⁢   1     =       ⁢       R   ⁡     (       1   /   3     +     τ   0       )       +     α   ⁢           ⁢     R   ⁡     (       1   /   3     +     τ   0     -   δ     )                       =       ⁢     1   -     (       1   /   3     +     τ   0       )     +     α   ⁡     (     1   -     (     δ   -     1   /   3     -     τ   0       )       )                     =       ⁢         2   /   3     ⁢     (     1   +   α     )       -       τ   0     ⁡     (     1   -   α     )       +     2   ⁢           ⁢     α   /   3       -     α   ⁢           ⁢   δ                     (   30   )                       L   ⁢           ⁢   2     =       ⁢       R   ⁡     (       2   /   3     +     τ   0       )       +     α   ⁢           ⁢     R   ⁡     (       2   /   3     +     τ   0     -   δ     )                       =       ⁢     1   -     (       2   /   3     +     τ   0       )     +     α   ⁡     (     1   -     (       2   /   3     +     τ   0     -   δ     )       )                     =       ⁢         1   /   3     ⁢     (     1   +   α     )       -       τ   0     ⁡     (     1   +   α     )       +     α   ⁢           ⁢   δ                     (   31   )             
 
         [0046]     The DLL will force E 1 =L 1 . The following equations can be derived:  
               τ   0     =     α   /   3             (   32   )                 E   ⁢           ⁢   2     =       R   ⁡     (       2   /   3     -     τ   0       )       =       1   -     (       2   /   3     -     τ   0       )       =       1   /   3     +     τ   0                   (   33   )                       E   ⁢           ⁢   1     ⁢           =       ⁢       R   ⁡     (       1   /   3     -     τ   0       )       +     α   ⁢           ⁢     R   ⁡     (       1   /   3     -     τ   0     +   δ     )                       =       ⁢       (     1   -     (       1   /   3     -     τ   0       )       )     ⁢           +           ⁢     α   ⁡     (     1   -     (       1   /   3     -     τ   0     +   δ     )       )                     =       ⁢         2   /   3     ⁢           ⁢     (     1   +   α     )       +       τ   0     ⁡     (     1   +   α     )       -     α   ⁢           ⁢   δ                     (   34   )                       L   ⁢           ⁢   1     =       ⁢       R   ⁡     (       1   /   3     +     τ   0       )       +     α   ⁢           ⁢     R   ⁡     (       1   /   3     +     τ   0     -   δ     )                       =       ⁢     1   -     (       1   /   3     +     τ   0       )     +     α   ⁡     (     1   -     (     δ   -     1   /   3     -     τ   0       )       )                     =       ⁢         2   /   3     ⁢     (     1   +   α     )       -       τ   0     (       (     1   -   α     )     +     2   ⁢           ⁢     α   /   3       -     α   ⁢           ⁢   δ                         (   35   )                       L   ⁢           ⁢   2     =       ⁢       R   ⁡     (       2   /   3     +     τ   0       )       +     α   ⁢           ⁢     R   ⁡     (       2   /   3     +     τ   0     -   δ     )                       =       ⁢     1   -     (       2   /   3     +     τ   0       )     +     α   ⁡     (     1   -     (       2   /   3     +     τ   0     -   δ     )       )                     =       ⁢         1   /   3     ⁢     (     1   +   α     )       -       τ   0     ⁡     (     1   +   α     )       +     α   ⁢           ⁢   δ                     (   36   )             
 
         [0047]     The multipath delay can be derived by power measurement E 2 :  
                 τ   0     =       E   ⁢           ⁢   2     -     1   /   3         ⁢     
     ⁢   or           (   37   )                   τ   0     =         -   1     /   3     +       (       E   ⁢           ⁢   1     +     L   ⁢           ⁢   2       )     /   3         ⁢     
     ⁢       If   ⁢           ⁢   α     ≥     0   ⁢           ⁢   then               (   38   )                       P   =       ⁢       R   ⁡     (     τ   0     )       +     α   ⁢           ⁢     R   ⁡     (       τ   0     -   δ     )             )               =       ⁢     1   -     τ   0     +     α   ⁡     (     1   -     (     δ   -     τ   0       )       )                     =       ⁢     1   +   α   -     τ   0     +     α   ⁢           ⁢     τ   0       -     α   ⁢           ⁢   δ                     (   39   )             
 
         [0048]     The multipath delay can also be derived by power measurements P and L 1 :  
                 τ   0     =       1   /   3     -     (     P   -     L   ⁢           ⁢   1       )         ⁢     
     ⁢   or           (   40   )                   τ   0     =       1   /   3     -     (     P   -     E   ⁢           ⁢   1       )         ⁢     
     ⁢   and           (   41   )                   τ   0     =         -   2     /   3     +       (     P   +     L   ⁢           ⁢   2       )     /   2         ⁢     
     ⁢       If   ⁢           ⁢   α     &lt;     0   ⁢           ⁢   then               (   42   )                       P   =       ⁢       R   ⁡     (     τ   0     )       +     α   ⁢           ⁢     R   ⁡     (       τ   0     -   δ     )             )               =       ⁢     1   +     τ   0     +     α   ⁡     (     1   -     (     δ   -     τ   0       )       )                     =       ⁢     1   +   α   +     τ   0     +     α   ⁢           ⁢     τ   0       -     α   ⁢           ⁢   δ                     (   43   )             
 
         [0049]     The multipath delay can also be derived by power measurements P and E 1 :  
                 τ   0     =         -   1     /   3     +     (     P   -     E   ⁢           ⁢   1       )         ⁢     
     ⁢   or           (   44   )                   τ   0     =         -   1     /   3     +     (     P   -     L   ⁢           ⁢   1       )         ⁢     
     ⁢   and           (   45   )                 τ   0     =         -   1     /   3     +       (     P   +     L   ⁢           ⁢   2       )     /   4               (   46   )             
 CASE 3: τ 0 +⅔&lt;δ≦τ 0 +1  
         [0050]     No multipath reflection on E 2 , E 1 . In this case we have  
               E   ⁢           ⁢   2     =       R   ⁡     (       2   /   3     -     τ   0       )       =       1   -     (       2   /   3     -     τ   0       )       =       1   /   3     +     τ   0                   (   47   )                 E   ⁢           ⁢   1     =       R   ⁡     (       1   /   3     -     τ   0       )       =       (     1   -     (       1   /   3     -     τ   0       )       )     =       2   /   3     +     τ   0                   (   48   )                       L   ⁢           ⁢   1     =       R   ⁡     (       1   /   3     +     τ   0       )       +     α   ⁢           ⁢     R   ⁡     (       1   /   3     +     τ   0     -   δ     )                       =     1   -     (       1   /   3     +     τ   0       )     +     α   ⁡     (     1   -     (     δ   -     1   /   3     -     τ   0       )       )                     =       2   /   3     +     4   ⁢           ⁢     α   /   3       -       τ   0     ⁡     (     1   -   α     )       -     α   ⁢           ⁢   δ                     (   49   )                       L   ⁢           ⁢   2     =       R   ⁡     (       2   /   3     +     τ   0       )       +     α   ⁢           ⁢     R   ⁡     (       2   /   3     +     τ   0     -   δ     )                       =     1   -     (       2   /   3     +     τ   0       )     +     α   ⁡     (     1   -     (     δ   -     2   /   3     -     τ   0       )       )                     =       1   /   3     +     5   ⁢           ⁢     α   /   3       -       τ   0     ⁡     (     1   -   α     )       -     α   ⁢           ⁢   δ                     (   50   )             
 
         [0051]     The DLL will force E 1 =L 1 . The following equations can be derived:  
               τ   0     =       α   ⁡     (       4   /   3     -   δ     )         2   -   α               (   51   )                 τ   0     =       E   ⁢           ⁢   2     -     1   /   3               (   52   )                 τ   0     =       E   ⁢           ⁢   1     -     2   /   3               (   53   )                   τ   0     =       L   ⁢           ⁢   1     -     2   /   3         ⁢     
     ⁢       If   ⁢           ⁢   α     ≥     0   ⁢           ⁢   then               (   54   )                       P   =       R   ⁡     (     τ   0     )       +     α   ⁢           ⁢     R   ⁡     (       τ   0     -   δ     )             )               =     1   -     τ   0     +     α   ⁡     (     1   -     (     δ   -     τ   0       )       )                     =     1   +   α   -     τ   0     +     ατ   0     -   αδ                   (   55   )               α   =     1   +     3   ⁢       (       L   ⁢           ⁢   2     -   P     )     /   2                 (   56   )                   τ   0     =         -   2     /   3     +       (     P   +     L   ⁢           ⁢   2       )     /   2         ⁢     
     ⁢       If   ⁢           ⁢   α     &lt;     0   ⁢           ⁢   then               (   57   )                       P   =       R   ⁡     (     τ   0     )       +     α   ⁢           ⁢     R   ⁡     (       τ   0     -   δ     )             )               =     1   +     τ   0     +     α   ⁡     (     1   -     (     δ   -     τ   0       )       )                     =     1   +   α   +     τ   0     +     ατ   0     -   αδ                   (   58   )                 τ   0     =         -   1     /   3     +       (     P   +     L   ⁢           ⁢   2       )     /   4               (   59   )             
 CASE 4: τ 0 +1&lt;δ≦4/3  
         [0052]     No multi-path reflection on E 2 , E 1 , P. In this case  
               E   ⁢           ⁢   2     =       R   ⁡     (       2   /   3     -     τ   0       )       =       1   -     (       2   /   3     -     τ   0       )       =       1   /   3     +     τ             ⁢   0                     (   60   )                 E   ⁢           ⁢   1     =       R   ⁡     (       1   /   3     -     τ   0       )       =       (     1   -     (       1   /   3     -     τ   0       )       )     =       2   /   3     +     τ   0                   (   61   )                       L   ⁢           ⁢   1     =       R   ⁡     (       1   /   3     +     τ   0       )       +     α   ⁢           ⁢     R   ⁡     (       1   /   3     +     τ   0     -   δ     )                       =     1   -     (       1   /   3     +     τ   0       )     +     α   ⁡     (     1   -     (     δ   -     1   /   3     -     τ   0       )       )                     =       2   /   3     +     4   ⁢           ⁢     α   /   3       -       τ   0     ⁡     (     1   -   α     )       -     α   ⁢           ⁢   δ                     (   62   )                       L   ⁢           ⁢   2     =       R   ⁡     (       2   /   3     +     τ   0       )       +     α   ⁢           ⁢     R   ⁡     (       2   /   3     +     τ   0     -   δ     )                       =     1   -     (       2   /   3     +     τ   0       )     +     α   ⁡     (     1   -     (     δ   -     2   /   3     -     τ   0       )       )                     =       1   /   3     +     5   ⁢           ⁢     α   /   3       -       τ   0     ⁡     (     1   -   α     )       -     α   ⁢           ⁢   δ                     (   63   )             
 
         [0053]     The DLL will force E 1 =L 1 . The following equations can be derived:  
               τ   0     =       α   ⁡     (       4   /   3     -   δ     )         2   -   α               (   64   )                 τ   0     =       E   ⁢           ⁢   2     -     1   /   3               (   65   )                   τ   0     =       E   ⁢           ⁢   1     -     2   /   3         ⁢     
     ⁢   or           (   66   )                 τ   0     =       L   ⁢           ⁢   1     -     2   /   3               (   67   )                         L   ⁢           ⁢   2     =       R   ⁡     (       2   /   3     +     τ   0       )       +     α   ⁢           ⁢     R   ⁡     (       2   /   3     +     τ   0     -   δ     )                       =     1   -     (       2   /   3     +     τ   0       )     +     α   ⁡     (     1   -     (     δ   -     2   /   3     -     τ   0       )       )                     =       1   /   3     +     α   /   3     +     τ   0               ⁢     
     ⁢       If   ⁢           ⁢   α     ≥     0   ⁢           ⁢   then               (   68   )               P   =       R   ⁡     (     τ   0     )       =     1   -     τ             ⁢   0                   (   69   )                   τ   0     =     1   -   P       ⁢     
     ⁢       If   ⁢           ⁢   α     &lt;     0   ⁢           ⁢   then               (   70   )               P   =       R   ⁡     (     τ   0     )       =     1   +     τ   0                 (   71   )                 τ   0     =     P   -   1             (   72   )             
 CASE 5: 4/3&lt;δ≦5/3  
         [0054]     No multipath reflection on E 2 , E 1 , P, L 1 . In this case  
               E   ⁢           ⁢   2     =       R   ⁡     (       2   /   3     -     τ   0       )       =       1   -     (       2   /   3     -     τ   0       )       =       1   /   3     +     τ             ⁢   0                     (   73   )                 E   ⁢           ⁢   1     =       R   ⁡     (       1   /   3     -     τ   0       )       =       (     1   -     (       1   /   3     -     τ   0       )       )     =       2   /   3     +     τ   0                   (   74   )                 L   ⁢           ⁢   1     =       R   ⁡     (       1   /   3     +     τ   0       )       =       1   -     (       1   /   3     +     τ   0       )       =       2   /   3     -     τ   0                   (   75   )                       L   ⁢           ⁢   2     =       R   ⁡     (       2   /   3     +     τ   0       )       +     α   ⁢           ⁢     R   ⁡     (       2   /   3     +     τ   0     -   δ     )                       =     1   -     (       2   /   3     +     τ   0       )     +     α   ⁡     (     1   -     (     δ   -     2   /   3     -     τ   0       )       )                     =       1   /   3     +     5   ⁢           ⁢     α   /   3       -     α   ⁢           ⁢   δ                     (   76   )             
 
         [0055]     The DLL will force E 1 =L 1 . The following equations can be derived: 
 
τ 0 =0  (77) 
 
 P=R (τ 0 )=1  (78) 
 
CASE 6: δ≧5/3  (79) 
 
         [0056]     No multi-path reflection on all five powers.  
         [0057]     The above expressions for τ 0  are summerised  FIG. 13 . The multipath delay τ 0  can be computed by formula in the third row of  FIG. 13  if it is assumed that δ and α are known.  
         [0058]      FIG. 5  shows the theoretical multipath effect based on δ and alpha. However, in reality, δ and α can not be measured and the only measurements are E 2 , E 1 , P, L 1  and L 2 .  
         [0059]     The L 2  should not be used because L 2  will still be affected by multipath δ≧4/3 until δ≧5/3 although τ 0 =0.  
         [0060]     From summary  FIG. 13 , the following three methods may be concluded:  
         [0061]     Method 1: To =E 2 −1/2 is applied for Cases 2-6 no matter what the value of α.  FIG. 6  shows the computed multipath delay using this formula. Comparing with  FIG. 5 , it can be seen the formula has been biased for case 1 which is shown in  FIG. 7 .  
         [0062]     Method 2: If α≧0, we can have E 1 +E 2 &gt;P and if α≦0, we can have E 1 +E 2 &lt;P. When E 1 +E 2 &gt;P, τ 0 =(E 1 +E 2 )/2−P/2 will be applied. Otherwise τ 0 =E 2 −⅓ is applied.  FIG. 8  gives multipath corrections and  FIG. 9  gives the biases.  
         [0063]     Method 3: There is an alternative for above case. When E 1 +E 2 &gt;P, τ 0 =3(E 1 +L 1 )/8−P/2 will be applied. Otherwise τ 0 =E 2 −⅓ is applied.  FIG. 10  illustrates the multipath corrections and  FIG. 11  shows the biases.  
         [0064]     In most of the cases, the methods 2 and 3 are used. This has been illustrated in the flowchart shown in  FIG. 14 . According to this flowchart, the values of E 1 , L 1 , E 2  and P are measured (step  1400 ) under multipath condition. If the value of (E 1 +E 2 ) is greater than P (step  1410 ) then τ 0  is computed using either τ 0 =(E 1 +E 2 )/2−P/2 or τ 0 =3(E 1 +L 1 )/8−P/2 (step  1420 ). When (E 1 +E 2 )&lt;P, then τ 0 =E 2 −⅓ is applied (step  1430 ). These values are corrected with the already known biases (step  1440 ) as shown in  FIG. 9  and  FIG. 10  to obtain the actual correction value τ (step  1450 ). This corrected value of the multipath error is used to correct the estimated position ( 1460 ). If only the value of E 2  is available then the formula τ 0 =E 2 −½ of method 1 is applied.  
         [0065]     There are two practical issues when the algorithm is implemented in the system.  
         [0000]     1. All the power values in the above derivation have been unified as 1 for P under the condition that there is no multipath.  
         [0000]     2. E 1  and L 1  are not exactly at ⅔ unified value, and E 2  and L 2  are not at ⅓ unified values.  
         [0066]     Accordingly, the method of the invention may also include refining a code-phase increment by averaging a ratio of the power of a second correlator to a prompt correlator. For Method 1, the ⅓ point can be replaced by x(k), given by a smoothing formula, e.g., the moving average  
               x   ⁡     (   k   )       =           N   -   1     N     ⁢     x   ⁡     (     k   -   1     )         +         e   ⁢           ⁢   2   ⁢     (   k   )         N   ·     p   ⁡     (   k   )           .               (   80   )             
 
         [0067]     If N&gt;N max , let N=N max . The value of N max  (the averaging period) preferably should be larger than a maximum period of multipath. Normally the period of 10 minutes is a good number which means that N max =600 when measurement interval is 1 second. And E 2  will be replaced by  
           e   ⁢           ⁢   2   ⁢     (   k   )         p   ⁡     (   k   )         .       
 
 Where e 2 ( k ) and p(k) are original power values for E 2  and P. The practical formula for computation of the error in position is then given by:  
               MP   ⁡     (   k   )       =         γ     x   ⁡     (   k   )         ⁡     [         e   ⁢           ⁢   2   ⁢     (   k   )         p   ⁡     (   k   )         -     x   ⁡     (   k   )         ]       ·     c   1023000               (   81   )             
 
 where γ is obtained by experimentation, and c is the speed of light. 
 
         [0068]     The experiment results from different data sets show that the positioning accuracy (standard deviation) can be improved 20-30%. Thus, already available power values from different correlators may be used to improve accuracy of the estimated time delay error and positioning accuracy.  
         [0069]      FIG. 12  shows multipath corrections (red line) and measured multipath (blue line) for PRN  20 . The blue line includes ionosphere effect.  
         [0070]     Since the positioning accuracy are highly affected by both ionosphere and multipath. 30% of positioning accuracy improvement means that the multipath itself has been mitigated by over 50%.  
         [0071]     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 this disclosure. For example, although the above embodiments have been described using the GPS system as an example, the techniques and methods may be used for other global satellite navigational systems including GLONASS, Galileo, secondary systems such as WASS, EGNOS, and MSAS, as well as hybrids of the above systems. Accordingly, it is intended that the appended claims be interpreted as covering all alterations and modifications as fall within the spirit and scope of the invention.