Abstract:
A method and apparatus for using a predetermined portion of terrain elevation maps in a database for aiding in computing a three-dimensional position of a wireless station. Instead of using the entire terrain model of the earth or an entire country, the database consists of an incomplete model, which includes only the most populous areas or specific regions. This reduces the size of the information in the database, which in turn reduces the amount of time to compute the positions of the wireless device.

Description:
BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The features of the present invention relate to position determination systems and more particularly to a method and apparatus for determining a position of a mobile device or mobile station using global positioning system (GPS) data and expected user altitude on data. 
     2. Background Art 
     To determine a position of a mobile device a Global Positioning System (GPS) uses measurements from several satellites to compute position in three (3) dimensions (i.e., latitude, longitude, and altitude). For the ideal situation, four (4) or more satellites are required for these measurements. However, in certain situations, there may not be enough satellites to accurately determine an altitude. For example, in some cases only three (3) GPS satellites are available. In these cases, a measurement is sometimes available in the form of an altitude estimate, and in this case four (4) measurements (3 GPS+1 altitude) can be used. This can include blocked GPS signal environments (e.g. indoors, urban canyon), or even moderate GPS environments, where at some point during startup, only three (3) GPS measurements are ready. Even in some cases when four (4) GPS satellites are available, the geometry of those satellites is poor, or the solution is otherwise not high enough quality to be usable, and the use of altitude aiding can provide an additional measurement to improve the accuracy and reliability of that solution. For this situation, many commercial GPS receivers offer a fixed altitude mode for situations where the altitude of the receiver is available from external means, such as knowledge that the receiver is being used on the surface of the ocean in a maritime GPS receiver. Also, mobile stations sometimes remember a previously calculated altitude, and use that for altitude aiding; however, obvious problems with this technique include the inability to determine an altitude for a first positioning attempt or when the mobile station has moved significantly since the previous altitude was calculated. 
     The fixed altitude technique, while useful in some situations, cannot address the general problem of determining position over uneven and/or unknown terrain. The use of terrain elevation maps is disclosed in U.S. Pat. No. 6,429,814 B1 and U.S. Pat. No. 6,590,530 B2. However, these devices are impractical and require substantial resources due to the volume of terrain elevation data for the entire earth. These worldwide altitude databases are often stored on a server and, due to their size, are rarely in a mobile station. 
     Therefore a need exists for a method and apparatus to accurately provide elevation data that is more practical and that requires less memory than the presently available systems. 
     SUMMARY OF THE INVENTION 
     Methods and apparatuses are disclosed herein that use defined terrain databases for altitude aiding for determining a position of a mobile station. The defined database contains expected user altitudes, based on terrain altitude data only for areas with dense user populations, and thus the database uses considerably less memory and is more efficient than systems that include the entire world or even a countrywide database. By using the disclosed aspects, GPS positioning occurs faster (faster time to fix) upon startup, and is more available (higher yield) within a given time frame. The disclosed aspects improve GPS yield and time to fix accuracy. In addition, they provide a predetermined expected user altitude database comprised of selected populated areas of the world or a selected country for use in altitude aiding in a mobile station and require less memory and is more efficient than a conventional terrain database, making it practical for use directly on a mobile device. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The accompanying drawings, which are incorporated into and form a part of the specification, illustrate several aspects of the present invention and, together with the description, serve to explain the principles of the invention. The drawings are only for the purpose of illustrating a preferred aspect of the invention and are not to be construed as limiting the invention. In the drawings: 
         FIG. 1  is a depiction of a prior art altitude aiding system. 
         FIG. 2  shows the one embodiment of an altitude aiding system described herein. 
         FIG. 3  is a map showing selected regions with different expected user altitudes for the expected user altitude database. 
         FIG. 4  is a flow chart showing an embodiment of a position location process described herein. 
         FIG. 5  is a flow chart showing an embodiment of the process using velocity and two different assumed altitude levels to assist in determining position of the mobile station. 
     
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS 
       FIG. 1  shows a prior art system using the entire world terrain database for altitude aiding. In  FIG. 1 , satellites  10  send signal to a mobile station  12 . A terrain database  20 , inside a server or other external source  52 , sends an altitude over communication network  22  to mobile station  12 . The GPS signals and the localized altitude aiding are used by GPS computer  14  to determine the position of mobile station  12 . In these prior art systems, terrain database  20  contains terrain maps of the entire earth, thus the need for an external server  52  or a very large memory source. The present system operates in a similar fashion; however the expected user altitude database is made up of selected portions of the worldwide terrain database, as modified for building heights. 
       FIG. 2  shows an example of the current invention, using a sparse expected user altitude database for altitude aiding. As shown in  FIG. 2 , satellites  10  send signal to mobile station  12 . A sparse expected user altitude database  16  inside mobile station  21  sends localized altitude aiding to GPS computer  14  when available. GPS computer  14  combines the GPS signals and the altitude aiding to determine the position of mobile station  12 . Due to the reduced memory required by sparse expected use database  16 , memory internal to mobile station  12  can be used without an external memory source or a very large memory inside mobile station  12 . 
     In order to further explain the aspects of the present invention, an industrial example is provided.  FIG. 3  shows a map of the greater Chicago area. Within this map set of areas, defined in this figure as circles, is contained in sparse expected user altitude database  16 . Although this example uses circles for coverage regions, the coverage area may be varied in any number of coverage shapes. In this example, three areas are selected, one with a radius of one and one half (1.5) kilometers  22 , a second with a radius of four (4) kilometers  24 , and a third with a radius of twenty-five (25) kilometers  26 . Inside the first circle  22 , in this example, the mobile station can be expected to be at an elevation of four hundred plus or minus 220 meters (400±220 m), inside the second circle  24  at an elevation of two hundred and eighty plus or minus eighty meters (280±80 m), and inside the third circle  26  with an elevation of two hundred and forty plus or minus forty meters (240±40 m). These values are tailored to the deviations in expected user altitude (ground elevations adjusted for the range of building heights) of the particular geographic area. Table 1 shows the latitude and longitude of circle center, radius, altitude and altitude uncertainty for the above example in the greater Chicago area. 
     
       
         
               
               
               
               
               
             
               
               
               
               
               
             
           
               
                 TABLE 1 
               
               
                   
               
               
                   
                   
                   
                   
                 Alt. Uncertainty 
               
               
                 Latitude 
                 Longitude 
                 Radius (km) 
                 Altitude (m) 
                 (m .99%) 
               
               
                   
               
             
             
               
                   
               
             
          
           
               
                 41.8833 
                 −87.6285 
                 1.5 
                 400 
                 225 
               
               
                 41.8732 
                 −87.6308 
                 4 
                 275 
                 100 
               
               
                 41.8531 
                 −87.6994 
                 25 
                 225 
                 50 
               
               
                   
               
             
          
         
       
     
     One method or process relating to determining position is shown in  FIG. 4 , a flowchart showing a preferred process. A first step is to initiate or start the system  30 . The system then creates an expected user altitude or selected terrain database  32  that consists of, as an example, a few large circles, as shown in  FIG. 3 , (or other areas) that cover a small, but highly-used, portion of the expected usage area for a particular device. For example a GPS receiver, phone or other mobile station sold in the USA may have an expected user altitude database that covers the 100 largest metro areas in the USA, with 5-20 circles each, each of which has a center Lat/Lon, a radius (of roughly 1-100 km), an average expected user height (terrain+buildings), and an uncertainty (standard deviation) of the expected user height. Although this example calls for circles, any variation of a limited area mapping that provides altitude as a function of latitude and longitude can be used. 
     When mobile station positioning is initially being attempted, the method starts with a globally valid elevation aiding estimate  34 , in this example of 100 m±3000 m above sea level. The mobile station position is then estimated  38 , using this altitude aiding measurement  34 , plus the GPS measurements  36 , by methods well known in the art. Based on estimated mobile station position  38 , the method then finds the smallest radius database entry  40  from the selected expected user altitude database  32  that covers that coarse position and uncertainty. At that point, the altitude estimate and uncertainty for that database entry are determined  42 , and are generally far more accurate than the globally valid altitude estimate above. The method then repeats the calculation of position and uncertainty for a second time  46 , using the first determined altitude and altitude uncertainty  42 , plus GPS measurements  36 , to determine a second, improved estimate of mobile station position  46 . The system then ends  50 . 
     At this point the position is often of sufficient accuracy to be used by an end-user of the positioning system, and to aid other internal functions of GPS signal processing, such as GPS measurement search window centering for satellites which are known to be above the horizon, but for which signal have not yet been acquired (a concept well known in the art). 
     This process can also continue, if desired, with the second mobile station position being used to look up an entry in the altitude database again, and if the database determined elevation estimate changes, then the position is recalculated  48 . This iteration can continue until the altitude estimate and uncertainty determined from the database isn&#39;t changed between iterations, or until a predetermined maximum number of iterations have been reached (e.g., 5 iterations.) 
     Note that when only three (3) GPS measurements are used in combination with the initial, globally-valid coarse elevation aiding estimate  34 , to determine a first position estimate, it is recognized that the resultant position estimate may have a large horizontal uncertainty, often a kilometer or more, which is often not sufficiently accurate for an end user application. Fortunately, this position is generally sufficiently accurate to be used to lookup an improved altitude in step  40  of the sparse altitude database. When this position is in a populated area, even this large uncertainty area is generally still within one of the elevation database entries, and the altitude estimate uncertainty improvement can still proceed as above. 
     In cases where the estimated mobile station position is not within any area covered by an entry in the database, the available altitude aiding cannot be improved beyond the globally valid, coarse elevation aiding  34  as described above. In this case, the value of the aspects of this invention in improving accuracy, yield and time to fix benefits is limited to the use of globally valid altitude aiding. While this database lookup failure is expected to be the case in a very large percentage of the land-area, it is not expected to be the case in a very large percentage of the end user cases, because the sparse database  32  is specifically targeted to cover just the relatively small areas where mobile station users are most likely to be located (e.g. urban and suburban areas.) 
     This database is created and tailored for use in different parts of the world. For instance, in the mid-western United States, which often is relatively flat, the radius of the circles or coverage region for inclusion in the database can be relatively large. However in mountainous regions or cities, such as San Francisco, Calif., the method may require smaller circles or regions to provide similarly accurate altitude aiding. Additionally, areas with tall buildings may require smaller regions to accommodate the large variations in expected mobile user elevation (as users can be at widely varying heights in the buildings.) 
     In areas that are relatively flat, even relatively unpopulated areas can be efficiently covered by the sparse elevation database in this invention. For example, most of the rural and small-community areas of southern Florida can be covered by one database entry with an altitude accuracy of better than  50  meters, providing altitude aiding to a population of several hundred thousand people spread across a large area with a single database entry. 
     The accuracy and coverage of the sparse expected user altitude database can be tailored to the needs of a particular device (e.g. within a certain memory limit) or expected usage area (e.g. within a certain distance of the expected purchase location of the mobile unit). For example, with accuracy goals of 100 meters of altitude accuracy, and a coverage goal of a single urban area, a database with very few entries, or even a single entry, may suffice. For accuracy goals of 50 meters or less, and coverage of, say, 95% of the population of an entire country (or the entire world), several thousand database entries may be required. In either case, this is substantially less than the millions of database entries usually employed in a global terrain elevation database. 
     In addition, any general purpose compression schemes, such as zip, and .jpg, can be used for general compression of expected user altitude data. For example, encoding a grid of expected user altitude data (heights and uncertainties) by representing altitude, and/or altitude uncertainty as a grid of different intensity pixels in a black and white JPEG image, and using JPEG compression/decompression for efficient storage of the data can enhance the aspects of the present invention. This would be particularly efficient on a mobile station, because most mobile stations available on the market already come with high-speed JPEG compression/decompression hardware &amp; software for other purposes (e.g. camera usage.) 
     Other methods of compression elevation data that can be used are Lat/Lon/Radius circular coverage areas, and or Lat/Long corners of rectangles, Voronio diagrams, local-area-grids with interpolation, which have an associated elevation, and uncertainty around that elevation. 
     The elevation and/or terrain elevation to be encoded is the “terrestrial mobile station&#39;s elevation” which can often be assumed to be equal the terrain elevation ground level or it can be a certain distance from the ground level. For example, typically it is probably 1-1.5 meters higher than ground level when a human is using the device outdoors or in a vehicle. In areas with tall buildings, both the average “terrestrial mobile station elevation”, and the uncertainty around that should be increased, to allow for the fact that many mobile stations may be several stories above ground level in the buildings. 
       FIG. 5  shows another embodiment of a process using velocity and two different assumed altitude levels for the mobile station. The process is generally similar to the process in  FIG. 4  with several variations. In areas with tall buildings, the expected user elevation database may include two entries in a given area, one for ‘vehicle-level’  80  typically near ground level, and one for all other users  78  covering up to the tops of tall buildings. The vehicle level entry  80  would be near ground level, and would have a smaller uncertainty than that required to cover the tall buildings, thus being more valuable in the GPS position calculation. Again, the first step is to initiate or start the system  60 . The system then creates an expected user altitude or selected terrain database  62  that consists of, as an example, a few large circles, as shown in  FIG. 3 , (or other areas) that cover a small, but highly-used, portion of the expected usage area for a particular device. When mobile station positioning is initially being attempted, the method starts with a globally valid elevation aiding estimate  64 . The mobile station position is then coarsely estimated  68 , using this altitude aiding measurement  64 , plus the GPS measurements  66 , by methods well known in the art. Based on estimated mobile station position  68 , the method then finds the smallest radius database entry  70  from the selected expected user altitude database  62  that covers that coarse position and uncertainty. The process then determines which entry level to use. To determine which entry to use, the algorithm would first estimate the coarse user position, and, with the use of altitude-hold, a coarse user velocity. If the user velocity is over a threshold  72  that makes it likely to be a vehicle (e.g. over 5 m/s), then the algorithm would choose to use the ‘vehicle-level’ entry  80  from the expected user altitude database. If the user velocity is not over the threshold, it would use the ‘other’ entry  78  from the expected user altitude database that covers altitudes from ground level to the tops of tall buildings. At that point, the database determined altitude estimate and uncertainty for that location are determined for the first time  82 , and are generally far more accurate than the globally valid altitude estimate  64 . The method then repeats the calculation of position and uncertainty for a second time  84 , using the first determined altitude and altitude uncertainty  82 , plus GPS measurements  66 , to determine a second, improved estimate of mobile station position  84 . The system then ends  86 . 
     This process can also continue, if desired, with the second mobile station position  84  being used to lookup an entry in the altitude database again, and if the database determined elevation estimate changes, then the position is recalculated  88 . This iteration can continue until the altitude estimate and uncertainty determined from the database isn&#39;t changed between iterations, or until a predetermined maximum number of iterations have been reached (e.g. 5 iterations.) 
     The coarse user velocity can be calculated in the step  68  using an estimate of vertical velocity of 0 m/s—which can be considered globally valid elevation aiding  64  for velocity. 
     As used herein, a mobile station (MS) refers to a device such as a cellular or other wireless communication device, personal communication system (PCS) device, personal navigation device, laptop or other suitable mobile device capable of receiving and processing SPS signals. The term “mobile station” is also intended to include devices which communicate with a personal navigation device (PND), such as by short-range wireless, infrared, wireline connection, or other connection—regardless of whether satellite signal reception, assistance data reception, and/or position-related processing occurs at the device or at the PND. Also, “mobile station” is intended to include all devices, including wireless communication devices, computers, laptops, etc. which are capable of communication with a server, such as via the Internet, WiFi, or other network, and regardless of whether satellite signal reception, assistance data reception, and/or position-related processing occurs at the device, at a server, or at another device associated with the network. Any operable combination of the above are also considered a “mobile station.” 
     Position determination techniques described herein may be used for various wireless communication networks such as a wireless wide area network (WWAN), a wireless local area network (WLAN), a wireless personal area network (WPAN), and so on. The term “network” and “system” are often used interchangeably. A WWAN may be a Code Division Multiple Access (CDMA) network, a Time Division Multiple Access (TDMA) network, a Frequency Division Multiple Access (FDMA) network, an Orthogonal Frequency Division Multiple Access (OFDMA) network, a Single-Carrier Frequency Division Multiple Access (SC-FDMA) network, and so on. A CDMA network may implement one or more radio access technologies (RATs) such as CDMA2000, Wideband-CDMA (W-CDMA), and so on. CDMA 2000 includes IS-95, IS-2000, and IS-856 standards. A TDMA network may implement Global System for Mobile Communications (GSM), Digital Advanced Mobile Phone System (D-AMPS), or some other RAT. GSM and W-CDMA are described in documents from a consortium named “3rd Generation Partnership Project” (3GPP). CDMA2000 is described in documents from a consortium named “3rd Generation Partnership Project 2” (3GPP2). 3GPP and 3GPP2 documents are publicly available. A WLAN may be an IEEE 802.11x network, and a WPAN may be a Bluetooth network, an IEEE 802.15x, or some other type of network. The techniques may also be used for any combination of WWAN, WLAN and/or WPAN. 
     Although the above description only recites GPS, the method and apparatus described herein may be used with various satellite positioning systems (SPS), such as the United States Global Positioning System (GPS), the Russian Glonass system, the European Galileo system, any system that uses satellites from a combination of satellite systems, or any satellite system developed in the future. Furthermore, the disclosed method and apparatus may be used with positioning determination systems that utilize pseudolites or a combination of satellites and pseudolites. Pseudolites are ground-based transmitters that broadcast a PN code or other ranging code (similar to a GPS or CDMA cellular signal) modulated on an L-band (or other frequency) carrier signal, which may be synchronized with GPS time. Each such transmitter may be assigned a unique PN code so as to permit identification by a remote receiver. Pseudolites are useful in situations where GPS signals from an orbiting satellite might be unavailable, such as in tunnels, mines, buildings, urban canyons or other enclosed areas. Another implementation of pseudolites is known as radio-beacons. The term “satellite”, as used herein, is intended to include pseudolites, equivalents of pseudolites, and possibly others. The term “SPS signals”, as used herein, is intended to include SPS-like signals from pseudolites or equivalents of pseudolites. 
     In one or more exemplary embodiments, the functions described may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored on or transmitted over as one or more instructions or code on a computer-readable medium. Computer-readable media includes both computer storage media and communication media including any medium that facilitates transfer of a computer program from one place to another. A storage media may be any available media that can be accessed by a computer. By way of example, and not limitation, such computer-readable media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer. Also, any connection is properly termed a computer-readable medium. For example, if the software is transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of medium. Disk and disc, as used herein, includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk and blu-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above should also be included within the scope of computer-readable media.