Abstract:
Methods and apparatus for improved position determination of a device using multiple pseudo range measurements from transmitting sources at known locations, such as GPS satellites. A plurality of pseudo range measurements for each transmitting source are processed together to obtain a simplified maximum likelihood estimate for the pseudo range for that transmitting source at a common reference time. The processed pseudo range estimates for all transmitting sources are then combined using conventional position determination algorithms. This technique facilitates removal of raw measurement outliers prior to position determination, which results in improved (i.e., more accurate) position fixes of the device. In addition, improved measurement integrity monitoring of the pseudo range measurements is a feature of this invention.

Description:
BACKGROUND OF THE INVENTION  
       [0001]     1. Field of the Invention  
         [0002]     The field of the present invention relates generally to determining the location of a device. More particularly, the invention relates to methods and apparatus for providing an improved (i.e., more accurate) estimate of the location of the device based on processing pseudo range values from transmitting sources, particularly GPS satellites.  
         [0003]     2. Background of the Invention  
         [0004]     The desire to determine accurately the location of wireless devices is being driven in part by regulatory forces. In June 1996, the Federal Communications Commission (FCC) mandated support for enhanced 911 (E-911) service with planned phased implementations by the first decade of the 21st century.  
         [0005]     A common method of locating a device is to determine the amount of time it takes for signals transmitted by known sources to reach the receiver of the device to be located. One such source of transmitted signals is known as the Global Positioning Satellite (GPS) system as shown in  FIG. 1 . The GPS system relies on a constellation of 24 satellites (plus other spare satellites) circling the earth every 12 hours at an altitude of 20,200 km. Each GPS satellite transmits a unique message which identifies its position at a particular time. In addition, each GPS satellite transmits unique binary ranging codes which allow the GPS receiver to discriminate the various satellites in view and to obtain the apparent range (“pseudo range”) between each satellite and the receiver. Multiple GPS signals at any particular time can serve as reference points to determine the location of a device. By measuring the distance from at least four GPS satellites, the GPS receiver within a device can triangulate its position anywhere on the earth. The device&#39;s location is calculated by measuring the time required for the GPS signals to travel from the GPS satellites to the device. Typically, four pseudo range measurements from four GPS satellites are sufficient to determine the location of the device. Additional pseudo range measurements may be needed depending on the GPS receiver&#39;s time alignment accuracy. Each pseudo range measurement contains partial position information for calculating the device location.  
         [0006]     One conventional method estimates a position for a particular time using M pseudo range values determined from M GPS satellites at that particular time. For a stationary device, this estimation is repeated at N sequential time intervals to derive N position estimates over the N time intervals. The N position estimates are then processed to determine the estimated position fix of a device. The processing technique can incorporate Kalman filtering, maximum likelihood estimation, weighted averaging, unweighted averaging, and variations of the above-mentioned processing techniques known to one skilled in the art. However, since each of these processing techniques uses computed position estimates to determine a filtered position, there is an inherent difficulty with outlier removal which can result in a less accurate (i.e., more erroneous) position determination estimate. It would be easier to filter out outliers if pseudo range values were processed directly prior to position determination since in the “raw” pseudo range format, outliers are more apparent. An outlier is an aberrant measurement which is statistically inconsistent with other measurements. For example, the GPS receiver is susceptible to occasional measurement outliers.  
         [0007]     In addition, when position estimates are processed to determine position, accurate signals from at least four GPS satellites are needed to fully determine position. In the event there are more than at least four in-view GPS satellites (i.e., the measurement is over-determined), then measurement integrity monitoring can be performed. Measurement integrity monitoring is the process of ensuring the validity of a set of GPS measurements, which may be achieved by checking the validity of each particular range measurement (taking measurement values in turns) against the position computed based on the remainder of the measurements (i.e., the set excluding the chosen measurement). However, if there are not enough GPS measurements to give an over-determined solution of position determination, then measurement integrity monitoring cannot be performed easily to determine which measurement is inaccurate.  
         [0008]     Accordingly, it would be desirable to provide methods and apparatus for providing device position determination with improved outlier removal. Additionally, it would be desirable to perform some form of measurement integrity monitoring even in the event when the GPS measurements do not give an over-determined solution of position determination. The methods and apparatus disclosed herein satisfy these needs.  
       SUMMARY OF THE INVENTION  
       [0009]     The present invention provides an improved (i.e., more accurate) estimate of the location of the device based on processing pseudo range values from transmitting sources at known locations.  
         [0010]     According to one aspect of the invention, the method includes the following steps: receive a plurality of pseudo range measurements from a transmitting source; adjust each of the plurality of pseudo range measurements for time correction and then arrange each of the plurality of pseudo range measurements in order of smallest value to largest value to form a pseudo range interval with the smallest value and the largest value as endpoints; divide the pseudo range interval into a plurality of increments with a plurality of grid points; align a sliding pseudo range window with a grid point and count the number of pseudo range measurements within that sliding pseudo range window. Repeat for each of the other grid points within the pseudo range interval and select a best window based on the maximal number of pseudo range measurements within a sliding pseudo range window. Compare that maximal number with an incidence threshold. Based on the comparison, determine an average pseudo range value. In a preferred embodiment, assign an average SNR and an average RMSE (root-mean-square error) estimate to the average pseudo range value.  
         [0011]     In another aspect of the invention, the method includes the following steps: receive a plurality of pseudo range measurements from a transmitting source; adjust each of the plurality of pseudo range measurements for time correction and then arrange each of the plurality of pseudo range measurements in order of smallest value to largest value to form a pseudo range interval with the smallest value and the largest value as endpoints. Divide the pseudo range interval into a plurality of increments having a plurality of grid points; align a sliding pseudo range window with the first grid point, count the number of pseudo range measurements within the sliding pseudo range window and repeat for each of the other grid points within the pseudo range interval. Select a plurality of best windows based on at least one predetermined criterion and determine a plurality of average pseudo range values such that each of the average pseudo range values corresponds to a best window.  
         [0012]     In another aspect of the invention, the device for determining position includes a receiver for receiving a plurality of pseudo range measurements from a transmitting source, and a processor coupled to the receiver and configured to accept the plurality of pseudo range measurements for processing by: i) adjusting each of the plurality of pseudo range measurements for time correction and then arranging each of the plurality of pseudo range measurements in order of smallest value to largest value to form a pseudo range interval with the smallest value and the largest value as endpoints; ii) dividing the pseudo range interval into a plurality of increments having a plurality of grid points; iii) aligning a sliding pseudo range window with one of the grid points and counting the number of pseudo range measurements within the sliding pseudo range window, and then repeating for each of the other grid points within the pseudo range interval; iv) selecting a best window based on the maximal number of pseudo range measurements within the sliding pseudo range window and comparing the maximal number with an incidence threshold; and then based on the comparison, determining an average pseudo range value.  
         [0013]     Other and further objects and advantages of the present invention will be further understood and appreciated by those skilled in the art by reference to the following specification, claims and drawings. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0014]      FIG. 1  illustrates a system for position determination using transmitted signals from GPS satellites.  
         [0015]      FIG. 2  is a flow diagram illustrating an algorithm for improved pseudo range estimation.  
         [0016]      FIG. 3  is an illustration of steps  245  and  250  of the flow diagram of  FIG. 2 .  
         [0017]      FIG. 4  is a typical SNR distribution of the satellite measurements.  
         [0018]      FIG. 5  is an error distribution using a single point position measurement result.  
         [0019]      FIG. 6  is an error distribution using five point position averaging.  
         [0020]      FIG. 7  is an error distribution using ten point position averaging.  
         [0021]      FIG. 8  is an error distribution using five point pseudo range averaging.  
         [0022]      FIG. 9  is an error distribution using ten point pseudo range averaging. 
     
    
     DETAILED DESCRIPTION OF THE INVENTION  
       [0023]      FIG. 1  illustrates a system for position determination using transmitted signals from GPS satellites. A device  110 , whose position is to be determined, receives a plurality of transmitted signals from a plurality of GPS satellites  120   a - 120   m . The device  110  includes a receiver  112  (not shown) and a processor  116  (not shown). The implementation of the receiver  112  and the processor  116  will be known to one skilled in the art. The device  110  is any device capable of determining the arrival times of received signals with respect to a reference time. For example, the device  110  may be a mobile wireless telephone, a portable computer terminal with a wireless modem, a stand-alone GPS terminal, or any other terminal capable of receiving and processing signals from reference transmitters at known locations, such as GPS satellites, other radionavigational satellites (e.g., GLONASS, Galileo, etc.) or any other ground-based transmitters. In one embodiment, the transmitting sources are GPS satellites as shown in  FIG. 1 . However, in alternative embodiments, the transmitting sources could be any ground-based transmitters, or a combination of GPS satellites, other radionavigation satellites and/or ground-based transmitters.  
         [0024]      FIG. 2  is a flow diagram illustrating an algorithm for improved pseudo range estimation. This algorithm may be implemented on a conventional programmable processor. In step  205 , N discrete pseudo range measurements are received from a single transmitting source, such as a GPS satellite, over N discrete time periods.  
         [0025]     The received GPS signal frequency is typically different from the nominal GPS carrier frequency, mostly due to the high velocity of the satellites. This difference (satellite Doppler) can be as high as ±5 kHz. The expected satellite Doppler can be computed even before any measurements are made. This Doppler prediction computation is based on an approximate user location estimate and the satellite orbital data. The predicted Doppler may be conveyed from a base station to the GPS receiver in order to help the receiver speed up searching for the satellite signal. After the search for a satellite signal is complete, the receiver determines a measured satellite Doppler. The receiver also determines the Doppler offset, Δf d , which is the difference between the measured and the predicted Doppler values. A non-zero Doppler offset may be due to any or all of the following causes: 
        Doppler measurement error     The actual receiver location is not the same as the location assumed when calculating the Doppler prediction     The receiver&#39;s non-zero velocity in the direction of the satellite     The receiver&#39;s frequency offset, in the case of a receiver employing a free running oscillator     The receiver&#39;s velocity relative to the base station, in the case of a CDMA receiver, when the receiver frequency is locked on the base station frequency, which in turn is locked on GPS frequency        
 
         [0031]     In step  210 , the Doppler offset, Δf d , is compared with a predetermined Doppler error threshold (T Doppler ). The threshold, T Doppler , should be chosen big enough so that the accumulated effect of the factors listed above would not exceed it.  
         [0032]     In step  215 , if Δf d  is greater than T Doppler , that pseudo range measurement is filtered out in step  216  before proceeding to step  220 . If Δf d  is not greater than T Doppler , proceed to step  220 .  
         [0033]     In step  220 , each of the remaining pseudo range measurements&#39; associated SNR is compared with a predetermined SNR threshold (T SNR ). In step  225 , if the measured satellite SNR is less than T SNR , that pseudo range measurement is filtered out in step  226  before proceeding to step  230 . If the measured satellite SNR is not less than T SNR , proceed to step  230 .  
         [0034]     In step  230 , the number of remaining pseudo range measurements are counted and compared with N*T N , where T N  is an appropriately selected filtering threshold, which can be chosen, for example, to be T N =⅓. In step  235 , if the number of remaining pseudo range measurements is less than N*T N , the transmitting source (e.g., the GPS satellite) is declared invisible in step  236 . When this condition occurs, the average pseudo range value will be reported, and the average pseudo range value will be marked as questionable or suspect in step  237 . This latter may be achieved, for example, by setting the reported SNR value to a fraction of the average SNR, and/or by setting the reported root-mean-square error (RMSE) estimate to a multiple of the average RMSE. In a preferred embodiment, equally weighted averaging of all pseudo range measurements is used and, the SNR is set to {fraction (1/10)} of the average SNR and/or the RMSE is set to the maximal possible RMSE value. The very low SNR and/or very high RMSE indicate that the pseudo range measurement is from a transmitting source that is considered invisible. The position determination algorithm uses the SNR and/or the inverse of the RMSE as weighting factors, so that transmitting source would be effectively de-weighted from the position determination. This choice permits the discrimination between cases where the device did not attempt to receive signals from a particular transmitting source and where the device did attempt signal reception, but failed to acquire good data. In another embodiment, measurements for transmitting sources that have been declared invisible by the receiver are not reported at all.  
         [0035]     If the number of remaining pseudo range measurements is at least N*T N , preprocessing will be applied to each remaining pseudo range measurement in step  240 . The preprocessing incorporates adjusting each pseudo range measurement in order to propagate that measurement to a common reference time (i.e. calculate what the measurement would have been if taken at the common reference time). This measurement propagation is done by the addition of a correction term, which is proportional to the product of the predicted Doppler and the difference between the common reference time and the individual measurement time. Obviously inaccuracies in the Doppler prediction, discussed earlier, will lead to pseudo range propagation errors. In order to minimize pseudo range propagation errors, the common reference time should be chosen close to the average of the individual measurement times.  
         [0036]     The preprocessing may also involve conventional methods of applying any or all of the following correction terms: 
        Ionospheric delay correction     Tropospheric delay correction     Group delay correction     Satellite clock correction     DGPS correction        
 
         [0042]     In one embodiment, the preprocessing algorithm is performed by a conventional programmable processor capable of accepting raw data (i.e., pseudo range measurements) and capable of determining position of the device. Additional implementation of the preprocessing algorithm may be achieved with an ASIC, a discrete logic circuit, a state machine or a software application within another network device. The preprocessor may be located within the device or may be part of the base station.  
         [0043]     Steps  245  and  250  are illustrated in  FIG. 3 . In step  245 , the pseudo range measurements from a single transmitting source are arranged in the order of smallest value r min  to largest value r max  which define the endpoints of the pseudo range interval. This interval is divided into increments of a predetermined size and forms grid points at the edges of each predetermined increment Δr. In a preferred embodiment, with the recognition that other values may also be preferable, the increments are set at 5 meters, forming grid points at every 5 meter mark, starting from the smallest pseudo range value r min  and ending at the largest pseudo range value r max . If the total length of the pseudo range interval is not an integer multiple of the increment, then the endpoints of the interval may be rounded to the closest available grid points.  
         [0044]     In step  250 , a sliding pseudo range window of a predetermined width W is aligned with a grid point (e.g., the first grid point at r min ). In a preferred embodiment, the predetermined width W is set at 300 meters, although one skilled in the art would recognize that other width W values are possible. In one preferred embodiment, the sliding pseudo range window of width W is centered at the grid point, i.e., the window is placed over an interval of +W/2 from each grid point. In step  255 , count the number of pseudo range values within the sliding pseudo range window. Steps  260  repeats steps  250  and  255  for each grid point.  
         [0045]     In step  265 , the sliding pseudo range window interval containing the maximal (i.e., largest) number of pseudo range measurements is selected as the ‘best window’. Let N b  be the number of pseudo range measurements contained in the best window determined in step  265 , i.e., N b  is the maximal number of pseudo ranges contained in any of the sliding pseudo range windows. In step  270 , calculate an appropriate incidence threshold, T w . For example, T w  can be set to be the larger of the values of N*T N  and 4 times N divided by the sum of 3 and the width of the sliding pseudo range window (in units of GPS chips). In step  275 , compare T w  calculated in step  270  to N b  determined in step  265 . If N b  is less than T w , declare the transmitting source invisible in step  276 . In one embodiment, when this condition occurs, the average pseudo range value will be reported, and the average pseudo range value will be marked as questionable or suspect in step  277 . This latter may be achieved, for example, by setting the reported SNR value to a fraction of the average SNR, and/or by setting the reported root-mean-square error estimate (RMSE) to a multiple of the average RMSE. In a preferred embodiment, equally weighted averaging of all pseudo range measurements is used and, the SNR is set to {fraction (1/10)} of the average SNR and/or the RMSE is set to the maximal possible RMSE value. The very low SNR and/or very high RMSE indicate that the pseudo range measurement is from a transmitting source that is considered invisible. In another embodiment, measurements for transmitting sources that have been declared invisible by the receiver are not reported at all.  
         [0046]     If N b  is equal or greater than T w , then in step  280 , compute and report the average of the pseudo range measurements within the best window determined in step  265 . In one embodiment, equally weighted averaging of the pseudo range measurements is used. Similarly, the average SNR value is determined as the average SNR associated with the measurements contained in the best window. The average RMSE may be determined as  
       RMSE   =       1   /     (       ∑     i   =   1     M     ⁢           ⁢     RMSE   1     -   2         )       =     1   /     (       (     1   /     RMSWE   1   2       )     +     (     1   /     RMSE   2   2       )     +   …   +     (     1   /     RMSE   M   2       )       )             
 
 where RMSF, is the root-mean-square error estimate for the i th  pseudo range measurement. 
 
         [0048]     In step  285 , the procedure outlined in steps  205 - 280  of  FIG. 2  is then repeated M times for each of the M transmitting sources. In step  290 , the resulting M average pseudo range values (i.e., one average pseudo range value from each transmitting source) can then be input to a conventional position determination algorithm known to one skilled in the art. In a preferred embodiment, the transmitting sources are GPS satellites, and a conventional GPS position determination algorithm is used.  
         [0049]     In an alternative embodiment, the pseudo range averaging algorithm may output more than one average pseudo range values for any of the M transmitting sources. This may be advantageous because of the possible existence of signal repeaters in the case where the transmitting sources are terrestrial base stations, or because of the existence of multipath signal propagation. Further processing, which is well-known in the art, is then used to determine which average pseudo range value corresponds to a base station and which average pseudo range value corresponds to a repeater, or alternatively, which average pseudo range value corresponds to the earliest path amongst the possible multipath average pseudo range values. Note that the input to the pseudo range averaging algorithm may also contain multiple pseudo range values (i.e., both detected base station and repeater signals, or a multitude of detected multipath signals) for any single measurement time.  
         [0050]     In yet another embodiment, for each transmitting source, multiple best windows are selected based on predetermined criteria known to one skilled in the art, with each best window having an associated weight. In one embodiment, the weight is the sum of the associated SNR values of the pseudo range measurements within the sliding pseudo range window. For each transmitting source i, denote N i  as the number of selected best windows. For all M transmitting sources, determine the total combination of best windows N h  where N h  is the product of all N i  for all M transmitting sources, e.g., denoted by the following equation:  
         N   h     =         ∏     i   =   1     M     ⁢           ⁢     N   i       =       N   1     ×     N   2     ×     N   3     ×   …   ×     N   M             
 
 The position determination algorithm is executed for all N h  combinations of best windows from all M transmitting sources. The position fix is selected from all N h  combinations of possible positions based on the maximal input weight, optimal performance (e.g., smallest expected error) or both. 
 
         [0052]     The advantages of the improved pseudo range estimation algorithm of the present invention include: reduced measurement error (as shown in  FIGS. 4-9 ) due to improved outlier removal; improved dilution of precision (DOP) from increased average transmitting source visibility due to the combining of several measurements; and more effective measurement integrity monitoring by comparing multiple pseudo range measurements from the same transmitting source.  
         [0053]      FIG. 4  is a SNR distribution of GPS satellite measurements under severe signal blockage condition (measurements taken inside a multi-story concrete building). As shown, the number of occurrences is tallied against the SNR measured in dB. Typically, pseudo range measurements corresponding to SNR values of less than 11 dB are omitted from the position calculation. The integral (cumulative) distribution of the number of occurrences is superimposed onto the SNR histogram plot.  
         [0054]      FIGS. 5-9  are summary plots of actual test data acquired from a GPS terminal.  FIG. 5  is an error distribution using a single point position measurement result. As shown, number of occurrences is tallied against the horizontal position error measured in meters. The integral distribution of the number of occurrences is superimposed onto the error histogram graph.  
         [0055]      FIG. 6  is an error distribution using five-point position averaging. The position averaging also involved outlier removal in the computed position domain. As shown, the number of occurrences is tallied against the horizontal position error measured in meters. The integral curve of the number of occurrences is superimposed onto the error histogram graph. As expected from using an increased quantity of position points, a reduction of error results by using five point position measurements over single point position measurements.  
         [0056]      FIG. 8  is an error distribution using five-point pseudo range averaging. As shown, the number of occurrences is tallied against the horizontal position error measured in meters. The integral distribution of the number of occurrences is superimposed onto the error distribution graph. In comparing  FIG. 8  with  FIG. 6 , a significant decrease in outliers greater than 1000 meters is indicated. There were approximately 21 residual outliers with five-point position averaging compared to 8 residual outliers when five-point pseudo range averaging was used.  
         [0057]      FIG. 7  is an error distribution using ten-point position averaging. The position averaging also involved outlier removal in the computed position domain. As shown, the number of occurrences is tallied against the horizontal position error measured in meters. The integral distribution of the number of occurrences is superimposed onto the error distribution graph. As expected from using an increased quantity of position points, a reduction of error results by using ten-point position measurements over single point and five-point position measurements.  
         [0058]      FIG. 9  is an error distribution using ten-point pseudo range averaging. As shown, the number of occurrences is tallied against the horizontal position error measured in meters. The integral curve of the number of occurrences is superimposed onto the error distribution graph. In comparing  FIG. 9  with  FIG. 7 , a significant decrease in outliers greater than 1000 meters is indicated. There were approximately 4 residual outliers with ten-point position averaging compared to 0 residual outliers when ten-point pseudo range averaging was used.  
         [0059]     While the present invention has been described in terms of the preferred embodiments, other variations which are within the scope of the invention as defined in the claims will be apparent to those skilled in the art.