This application is related to U.S. application Ser. No. 09/969,698, filed Oct. 1, 2001, now U.S. Pat. No. 6,552,680.
Not Applicable.
The present invention relates generally to a method, system and device for minimizing storage and processing of ionospheric grid point corrections transmitted from WAAS satellites and, more particularly, to such a method, system, and device that utilizes GPS location data and WAAS ionospheric grid point correction data to determine an optimal number of elements in a correction array utilizing a table-driven method for minimizing the number of ionospheric grid point corrections collected from the WAAS satellites.
The Global Positioning System (GPS) is a worldwide radio-navigation system formed from a constellation of 24 satellites and corresponding ground stations. Each satellite continually broadcasts its location in space along with the current time from an internal clock. GPS receivers can determine their position to within a few meters by receiving and analyzing signals transmitted from the satellites. To determine its location, a GPS receiver scans for satellite signals until it has acquired signals from three or more satellites. Two-dimensional locations can be determined by analyzing signals from three satellites, and three-dimensional locations can be determined by analyzing signals from four or more satellites. A GPS receiver determines its location by determining its distance from the GPS satellites based on the received signals and then triangulating these distance measurements. Commercial GPS receivers can determine their locations to an accuracy of 10 meters or less with 95 percent reliability.
Although the current GPS has been successful, it has several shortcomings. For example, GPS satellite signals are subject to errors caused by ionospheric disturbances and satellite orbit discrepancies. Ionospheric and tropospheric refraction can slow satellite signals and cause carriers and codes to diverge. Because ionospheric disturbances vary greatly from location to location, these errors are difficult to correct with civilian-type GPS receivers.
To account for these errors, the FAA developed a Wide Area Augmentation System (WAAS) to improve the accuracy, availability and integrity of the GPS. The WAAS is based on a network of approximately 25 wide area ground reference stations (WRSs) that are linked to cover a service area including the entire U.S. and some areas of Canada and Mexico. Each of the WRSs has been precisely surveyed so that its exact location is known. Signals from GPS satellites are received and analyzed by the WRSs to determine errors in the signals, including errors caused by the ionospheric disturbances described above. Each WRS in the network relays its data to a wide area master station (WMS) where correction information is computed. The WMS calculates correction messages for each GPS satellite based on correction algorithms and assesses the overall integrity of the system. The correction messages are then uplinked to a pair of Geostationary Communication Satellites (GEOs) via a ground uplink system (GUS). The GEOs then broadcast the messages on the same frequency as GPS (L1, 1575.42 MHz) to GPS receivers within the coverage area of the WAAS. GPS receivers may then utilize the WAAS correction data to correct for GPS satellite signal errors caused by ionospheric disturbances and other inaccuracies. The communications satellites also act as additional navigation satellites for the GPS receivers, thus, providing additional navigation signals for position determination.
One type of information that is included in the correction messages from the GEOs is ionospheric correction data. Ionospheric corrections are broadcast for selected ionospheric grid points generally spaced at 5 degree intervals in both latitude and longitude directions. One approach is to store the correction points in a two dimensional array containing a total of 2,592 elements [(360 degrees longitude divided by 5 degrees) times (180 degrees latitude divided by 5 degrees)]. Many GPS receivers, including, for example, GPS receivers used in avionics applications and portable GPS receivers used for recreational and sport applications have limited memory and processing power and therefore cannot quickly and efficiently store and process all 2,592 ionospheric grid point correction elements. Moreover, even for GPS receivers that have sufficient memory to store all the ionospheric grid point correction data, much of the memory required to do so is wasted because only the correction points within a certain distance of a GPS receiver's current location are relevant to the ionospheric conditions at that location.
Accordingly, there exists a need for an improved method and system for receiving ionospheric grid point corrections from WAAS satellites. Moreover, there is a need for such a method and system that benefits from the WAAS data while utilizing a minimal amount of memory and system resources.
The present invention provides an improved method, system and device for minimizing storage and processing of ionospheric grid point correction data. In accordance with the present invention, a current position of a GPS receiver or other device is determined and a boundary is created based upon the position. Grid point correction data is then obtained only for correction points within the boundary. The collected correction points are used to correct the position initially determined by the GPS receiver.
In another aspect of the invention, a method in a GPS receiver for minimizing storage and processing of ionospheric grid point correction data is provided. According to the method, a current position of a GPS receiver is determined and a boundary is created based on the position. One or more bands and one or more blocks of grid point correction data are analyzed to determine if they are within the boundary. Then, a set of correction points is obtained that are derived from the grid point correction data from correction points within the one or more blocks and the one or more bands surrounding the current position.
In a further aspect of the present invention, a computer-readable medium is provided having stored thereon a data structure for storing ionospheric grid boundaries. The data structure includes a first data field containing data representing a northernmost latitude and a second data field containing data representing a southernmost latitude. The data structure further includes a third data field containing data representing a number of latitudes in the boundary derived from the northernmost latitude and southernmost latitude. The structure also includes a table containing an entry for each of the boundary latitudes that contains a grid point latitude, an easternmost longitude, a westernmost longitude, a grid point correction array pointer and a number of grid point correction array entries. Finally, the data structure includes a fourth data field containing data representing a total number of grid point correction entries for all latitudes within the boundary.
In still another aspect of the present invention, a computer-readable medium is provided having stored thereon an ionospheric grid point bands data structure. The data structure includes multiple boundary indicator data fields for each grid point band containing data representing an indication that a grid point message within each of the grid point bands should be processed based upon a computed grid boundary. Further, a computer-readable medium is also provided having stored thereon a data structure for storing ionospheric grid point blocks. This data structure includes a grid point block table containing an entry for each of a plurality of possible ionospheric grid point bands. Each band has a plurality of possible grid point blocks and each block within each band contains an indication to process a grid point message based upon a computed grid point boundary.
In yet another aspect of the invention, a computer-readable medium is provided having stored thereon a data structure for storing ionospheric grid point corrections received from a correction message. This data structure includes a first data field containing data representing a grid point longitude and a second data field containing data representing a vertical delay estimate. The structure also has a third data field containing data representing an ionospheric vertical error indicator and a fourth data field containing data representing a reception time of the correction message. The combination of the data fields establish a correction message for a grid point.
Finally, the present invention also provides computer-readable medium having computer-executable modules. The modules include a module for creating a boundary based upon a current position of a user. The boundary is established to determine the grid point correction data to be collected. The modules also include a component for processing the grid point collection data from the WAAS messages.
These and other important aspects of the present invention are described more fully in the detailed description below.
The objectives and advantages of the present invention will become readily apparent to those skilled in the art from the following detailed description of the drawings, in which:
The drawing figures do not limit the present invention to the specific embodiments disclosed and described herein. The drawings are not necessarily to scale, emphasis instead being placed upon clearly illustrating the principles of the invention.
The present invention provides a method, system, and device for minimizing storage and processing of correction data transmitted from a Spaced Based Augmentation System (SBAS), such as WAAS, European Geostationary Navigation Overlay Service (EGNOS) or MSAS. A preferred embodiment of the present invention is directed to a method, system and device for minimizing storage and processing of ionospheric grid point corrections transmitted from WAAS satellites. It should be understood that the principles of the present invention may be applied to other types of corrections as well.
The present invention may be implemented with and/or incorporated into any global positioning system (GPS) device, including portable, handheld GPS navigation units, GPS-enabled wireless telephones, GPS-enabled personal digital assistants, GPS-enabled laptop computers, avionics equipment that incorporates GPS receivers, marine equipment that incorporates GPS receivers, etc.
Referring again to
The present invention may also be described in the context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types.
Processor 12 typically accesses at least some form of computer-readable media. Computer-readable media may be any available media that is accessible by the GPS system. By way of example and not limitation, computer-readable media may compromise computer storage media and communications media. Computer storage media includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules or other data. Communication media specifically embodies computer-readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or transport mechanism and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of any of the above would also be included within the scope of computer-readable media.
As described above, a Wide Area Augmentation System (WAAS) has been implemented to improve GPS accuracy, availability and integrity. WAAS data is transmitted at the same frequency as GPS signals so that GPS receivers including the GPS device 10 may receive WAAS correction messages along with GPS satellite signals. One set of data included in a WAAS correction message is ionospheric correction data.
As illustrated in
The correction messages (Type 26) provide ionospheric delay information for grid points within particular bands 50 and within particular blocks 52 within the bands.
The WAAS system and its operation are described in more detail in several versions of documents entitled “Minimum Operational Performance Standards for Global Positioning System/Wide Area Augmentation System Airborne Equipment,” RTCA/DO-229, 229A, 229B, and 229C (not published at the time of this writing). These documents are incorporated into the present application by specific reference.
As discussed above, the present invention determines a boundary around a current position of the GPS device 10 so that the GPS device may collect and analyze grid point correction data only for correction points within the boundary. A boundary is created by first calculating a maximum delta latitude and a maximum delta longitude for all possible latitude positions of the GPS device 10. At step 100 of
φpp=sin−1(sinφucosψpp+cosφusinψppcos A)radians (1)
The pierce point latitude (φpp) is computed using equations (1) and (2) where the earth's central angle (ψpp) is the angle between the user position (φu, λu) and the earth projection of the pierce point. The azimuth angle (A) is the angle of the satellite from the user's location (φu, λu) measured clockwise for north. The elevation angle (E) is the angle of the satellite from the user's location (φu, λu) measured with respect to the local-tangent-plane. Re is the approximate radius of the earth's ellipsoid (taken to be 6378.1363 km). hI is the height of the maximum electron density (taken to be equal to 350 km).
Once the maximum delta latitude has been calculated, the maximum delta longitudes for all possible latitudes are calculated in step 102 of
If φu>70°, and tanψpp cos A>tan(π/2−φu)
or if φu<−70°, and −tanψppcos A>tan(π/2+φu) (3)
then
Otherwise:
where A is the azimuth angle of the satellite from the user's location (φu, λu) measured clockwise from north.
Special considerations are involved when computing the maximum delta longitude. For example, at latitudes near the poles, a satellite's pierce point may be on the other side of the earth from the user's current position. Thus, the maximum delta longitude is actually set so that the receiver will collect all 360 degrees of longitude data for certain latitudes.
Once the latitude and longitude tables are established and set up, the current position or location of the GPS device 10 is determined in step 104. The position of the GPS device 10 is initially determined in a conventional manner by acquiring and analyzing signals from three or more GPS satellites. An exemplary current position of the GPS device 10 is referenced by the numeral 54 in
A boundary around the current position of the GPS device 10 is then determined in step 106 based on the maximum delta latitude and longitude(s) associated with that position.
Consideration must be given to ensure that the computed boundary 56 represents the data actually transmitted by the WAAS satellites. For example, for locations near the earth's equator, the grid points are generally spaced at five degree intervals in both latitude and longitude directions. Thus, a boundary 56a around a position 54a near the equator will have a delta latitude and delta longitude that are equal as illustrated in
Once a new boundary 56 is computed, the GPS device 10 purges previously collected correction data now lying outside the new boundary to ensure storage slots are available for corrections collected within the new boundary as depicted in step 108. The GPS device 10 then begins to analyze the new grid point correction data transmitted from the WAAS satellites to determine if the data corresponds to grid points within the boundary 56 as shown in step 110. Messages containing ionospheric grid point data outside of the boundary 56 are ignored and messages containing data within the boundary are stored in the GPS device 10.
The preferred method of the present invention determines whether a correction message contains correction data for bands and blocks within the boundary to quickly minimize the number of grid point corrections that must be analyzed. Particularly, step 112 first determines if a received correction message contains correction data for a band 50 within the boundary 56. If it does not, the correction data in the message is ignored and the method returns to step 110 to await further correction messages.
If, however, the message does contain correction data for a band 50 within the boundary 56, the method proceeds to step 114 to determine if the message contains correction data for a block 52 within the boundary 56. If it does not, the message is ignored and the method once again returns to step 110.
If, however, the message does contain grid point corrections for a block 52 within the boundary 56, the method next determines, for each grid point correction 30 within the block, whether that grid point correction 30 is within the boundary 56. To do so, a counter “N” is first set to 1 as shown in step 116. Step 118 then determines if grid point number N is within the boundary 56. If it is not, the grid point correction N is ignored and the method proceeds to step 120 to determine if all of the grid points in the block have been analyzed. If they have not, step 122 increments N by 1 and returns to step 118 to determine if the next grid point is within the boundary.
Steps 118, 120, and 122 are repeated until a grid point correction is found to be within the boundary 56. Step 124 then stores the correction data for the grid point in the memory of the GPS. The method then returns to step 120 to once again determine if all grid points in the block have been analyzed. If they have not, step 122 again increments N by 1 and returns to step 118 to determine if the next grid point is within the boundary. For example,
Once all of the grid points in the block have been analyzed, step 126 uses the grid point correction data that was saved in step 124 to compensate for errors in the position of the GPS device that was originally calculated in step 104. One such method of doing so is set forth in Appendix A of the RTCA document referenced above. Following step 126, processing returns to step 104 and awaits the next available position reading.
Because GPS devices are typically used to track the location of aircraft, marine vessels, motor vehicles and other moving objects, the method periodically must return to step 100 to recalculate the boundary 56 based on the most recent position of the GPS device. GPS devices typically move slowly relative to the frequency of the messages transmitted from the WAAS satellites; therefore, the new grid boundary may be computed relatively infrequently (e.g. once every minute) and still meet the system dynamics associated with changing satellite positions.
The table-driven method described above for minimizing the number of ionospheric grid point corrections is preferably implemented utilizing data structures as illustrated in
When determining the appropriate grid points to utilize within the boundary, an ionospheric grid point bands data structure 224 (
Upon the creation of the boundary and the isolation of the data within the appropriate blocks within each band, the grid point correction data is stored in an ionospheric grid correction array data structure 250 as illustrated in
From the foregoing, it will be seen that this invention is one well adapted to attain all the ends and objects hereinabove set forth, together with other advantages which are obvious and which are inherent to the invention. It will be understood that certain features and subcombinations are of utility and may be employed without reference to other features and subcombinations. This is contemplated by and is within the scope of the claims. Since many possible embodiments may be made of the invention without departing from the scope thereof, it is understood that all matters herein set forth or shown in the accompanying drawings are to be interpreted as illustrative and not in a limiting sense.
Number | Name | Date | Kind |
---|---|---|---|
5621646 | Enge et al. | Apr 1997 | A |
5828336 | Yunck et al. | Oct 1998 | A |
6040798 | Kinal et al. | Mar 2000 | A |
6078818 | Kingdon et al. | Jun 2000 | A |
6307505 | Green | Oct 2001 | B1 |
6370476 | McBride | Apr 2002 | B1 |
6456938 | Barnard | Sep 2002 | B1 |
6469663 | Whitehead et al. | Oct 2002 | B1 |
6480789 | Lin | Nov 2002 | B1 |
6552680 | Barber et al. | Apr 2003 | B1 |
6647340 | Pemble et al. | Nov 2003 | B1 |
6707421 | Drury et al. | Mar 2004 | B1 |
6801854 | Pemble et al. | Oct 2004 | B1 |
20040204852 | Robbins | Oct 2004 | A1 |
20050046584 | Breed | Mar 2005 | A1 |