Abstract:
Apparatuses, methods, and systems of transferring correction information are described. In certain implementations, correction factors relate to stored or calculated values, and a correspondence between a correction factor and a value is indicated by a predetermined order of the correction factors. In one application, a method according to an embodiment of the invention is used to transmit correction factors relating to the positions of physical objects. For example, such a method may be used to transmit correction factors relating to the positions of space vehicles within a Global Positioning Satellite (‘GPS’) system.

Description:
CROSS REFERENCE 
     This application claims priority to U.S. Provisional Application No. 60/241,191, filed Oct. 16, 2000. 
    
    
     BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates to information for correction of stored or calculated values and the transfer thereof. 
     2. Description of Related Art 
     Ease and accuracy of position determination has increased significantly since the development of positioning technologies such as global positioning satellite (‘GPS’) systems. One example of a system of positioning satellites is the NAVSTAR GPS system (as described in Global Positioning System Standard Positioning Service Signal Specification, 2 nd  edition, Jun. 2, 1995, United States Coast Guard Navigation Center, Alexandria, Va.); another example is the GLONASS GPS system maintained by the Russian Republic. GPS receivers are currently available for use in aircraft, ships, ground vehicles, and for hand carrying by individuals. 
     The NAVSTAR GPS system currently comprises twenty-four satellites or ‘space vehicles’ (‘SVs’) that orbit the earth in six orbital planes (four satellites in each plane). The SV orbits repeat substantially the same ground track as the earth turns beneath them each day. The orbital planes are equally spaced and inclined with respect to the equatorial plane, thus ensuring that a line-of-sight path exists to at least five SVs from any (unobstructed) point on the earth. 
     Ground-based monitor stations measure signals from the SVs and incorporate these measurements into orbital models for each satellite. Navigation data and SV clock corrections are computed for each satellite from these models and uploaded to each SV. The SV then transmits information relating to its position by modulating a direct sequence spread spectrum signal having a chip rate of 1.023 MHz onto a 1.5-GHz carrier. 
     A GPS receiver calculates its position by combining the delay or phase of the signal received from the SV, which indicates the position of the receiver relative to the SV, with information relating to the position of the SV. Because of inaccuracies in the receiver&#39;s timebase oscillator, signals from at least four SVs are required to resolve a position in three dimensions, although signals from additional SVs (if available) may be used to provide better accuracy. 
     It is desirable to augment certain wireless systems for mobile communications by adding the capability to locate the position of a particular mobile unit. One reason is a regulation promulgated by the Federal Communications Commission (FCC) (Docket No. 94-102, Third Report and Order adopted Sep. 15, 1999, released Oct. 6, 1999) which requires all cellular carriers in the United States to be able to locate the position of a cellular telephone making an emergency 911 (‘E-911’) call within 50 meters for 67 percent of calls and within 150 meters for 95 percent of calls by October 2001. Other uses for position location capability in wireless communications systems include value-added consumer features such as navigation and vehicle fleet management support. 
     SUMMARY 
     In a method according to an embodiment of the invention, correction factors are transferred in a predetermined order. From this predetermined order, the particular stored or calculated values to which each correction factor relates may be identified. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 shows a flowchart for a method according to an embodiment of the invention. 
     FIG. 2 shows a flowchart for a method according to an embodiment of the invention. 
     FIG. 3 shows a structure of a GPS data stream. 
     FIG. 4 shows a format of a GPS data frame. 
     FIG. 5 shows a block diagram for a system according to an embodiment of the invention. 
     FIG. 6 shows a block diagram for a system according to an embodiment of the invention. 
     FIG. 7 shows a flowchart for a method according to an embodiment of the invention. 
     FIG. 8 shows a block diagram for an apparatus according to an embodiment of the invention. 
     FIG. 9 shows a block diagram for an apparatus according to an embodiment of the invention. 
     FIG. 10 shows a flowchart for a method according to an embodiment of the invention. 
     FIG. 11 shows a block diagram for an exemplary implementation of task T 240  as shown in FIG.  9 . 
     FIG. 12 shows a flowchart for a method according to an embodiment of the invention. 
     FIG. 13 shows a flowchart for a method according to an embodiment of the invention. 
     FIG. 14 shows a block diagram for an exemplary implementation of task T 242  as shown in FIG.  12 . 
     FIG. 15 shows a flowchart for a method according to an embodiment of the invention. 
     FIG. 16 shows a flowchart for a method according to an embodiment of the invention. 
    
    
     DETAILED DESCRIPTION 
     A method according to an embodiment of the invention as disclosed herein may be applied to any situation in which it is desirable for an entity to transfer information relating to a set of items (e.g. to a storage medium or device or via transmission to another entity). The set of items may include physical objects (such as satellites, people, etc.), and the information is transferred in a predetermined order such that a need to include labels or a similar mechanism to explicitly indicate correspondences between the information and the individual items is avoided. If a time-varying ambiguity may exist in the order as applied by a receiving or retrieving entity, the sending or storing entity may predict the ambiguity and adjust the time of applicability of the data that it sends accordingly. For example, a sending entity may predict how a receiving entity will apply the predetermined order to the set of items and may choose a specific time of validity at which no ambiguity in the order as applied by the receiving entity is expected. 
     FIG. 1 shows a flowchart for a method according to an embodiment of the invention. In task T 120 , correction factors are calculated. Each of these factors relates to one or more among a set of items. In task T 210 , the correction factors are transmitted in a predetermined order. The predetermined order may be based on absolute or relative values indicating the positions (or expected positions) of the items, or on identification numbers of the items, or on some other characteristic by which the items may be distinguished from each other. The correction factors may be calculated and transmitted individually (i.e. in a serial or pipelined fashion), or one or more factors may be calculated and/or transmitted in parallel. 
     FIG. 2 shows a flowchart for a method according to another embodiment of the invention. In task T 120   a , correction factors are calculated for each among a set of physical objects. This set of objects may be a subset of a larger set of objects: for example, the set may include only those GPS SVs that are determined to be visible from a predetermined location or area. In task T 130   a , a supplemental position is determined for each object. This determination may be based upon observation of the object and/or a signal received from an object or another entity. 
     In task P 140   a , a correction factor is calculated for each object that is based on a difference between the supplemental position and a reference position for the object. The reference position may be effective at a different time than the supplemental position, and the reference position may have been calculated using a less accurate method and/or from a less accurate basis. Depending upon the particular implementation, task T 120   a  may be performed serially for each among the set of objects or in parallel (i.e. for more than one object at a time). 
     In an exemplary implementation of a method as shown in FIG. 2, one basis for determination of reference and supplemental positions is GPS navigation data as transmitted by one or more SV. Such data includes a series of time-tagged data bits that mark the time of transmission of each subframe from the SV. As shown in FIG. 3, a GPS data frame consists of 1500 bits transmitted over a period of 30 seconds (i.e., at a rate of 50 bits per second). Each data frame is divided into five 300-bit subframes, each having a duration of six seconds. As illustrated in FIG. 4, the first three subframes of a frame contain orbital and clock data: SV clock corrections are sent in subframe  1  and precise orbital data sets (or ‘ephemeris information’) for the transmitting SV are sent in subframes two and three. The ephemeris information is repeated at every frame. 
     Subframes four and five are used to transmit almanac and other information. Unlike the ephemeris information, almanac information includes an orbital data set that is common to all of the SVs. Almanac information is less precise with respect to an individual SV than the ephemeris information, and in order to transmit a complete almanac, an entire set of twenty-five frames (also called a superframe and having a transmission period of 12.5 minutes) is required. (See, e.g., Global Positioning System: Theory and Applications (Volume I), edited by B. W. Parkinson and J. J. Spilker Jr., 1996, for a more detailed description of the NAVSTAR GPS system.) 
     Ephemeris information provides a very accurate description of the orbit of a SV. However, it is possible that an entity such as a mobile unit will have access only to the less accurate almanac information (e.g. because of bandwidth constraints). For an application such as E-911 position determination, a position as calculated only on the basis of almanac information may be unacceptably inaccurate. In such a case, it is desirable to provide the mobile unit with a correction factor that indicates a difference between a position calculated only on the basis of almanac information and a position calculated on the basis of ephemeris information. 
     FIG. 5 shows a block diagram for a system according to an embodiment of the invention. GPS receiver  120  receives almanac and ephemeris information from one or more SVs and forwards this information to PDE  100 . In one implementation, PDE  100  forwards at least a portion of the almanac information to one or more mobile units (not shown) via base station transceiver (‘BTS’)  10 , which may be part of an existing cellular telephone system. In another implementation, the mobile units receive almanac information directly from the SVs. Based on at least the almanac and ephemeris information, PDE  100  calculates correction factors and forwards them to the mobile units via BTS  10 . 
     FIG. 6 shows a block diagram for a system according to another embodiment of the invention. In this example, PDE  102  (which includes an integrated GPS receiver) provides position determination support via several BTSs  12   a ,  12   b  through a base station controller or mobile switching center  200 , which may be part of an existing cellular telephone system. In other embodiments, a PDE (with or without an integrated GPS receiver) may be incorporated into a MSC, BSC, and/or BTS. 
     Almanac correction data is unique to each SV. If the size of messages transmitted between the base station and the mobile unit was not limited, then it does not matter how much data was transmitting between the two devices. The SV identification (ID) number could be used to label the correction for each satellite, for example, SV ID 1 indicating that the following correction data applies to satellite 1, SV ID 2 indicating that the next correction data applies to satellite 2, etc. 
     Transmitting labels, however, consumes some of what may be a limited number of bits provided within a GPS navigation message. An advantage of obviating a need for labeling bits is especially desirable in a low data rate system such as the analog Advanced Mobile Phone System (AMPS), in which data link capacity may be very limited. 
     FIG. 7 shows a flowchart for a method according to an embodiment of the invention. In task T 120   b , correction factors are calculated for each among a set of SVs. In task T 130   b , a supplemental position is determined for each SV, which determination is based at least partially upon ephemeris information received from the SV. 
     In task P 140   b , a correction factor is calculated for each SV that is based at least partially on a difference between the supplemental position and a reference position for the SV. In an exemplary implementation, the reference position is determined based at least partially upon almanac information received from the SV and/or other SVs. Depending upon the particular implementation, task T 120   b  may be performed serially for each SV or in parallel (i.e. for more than one SV at a time). Further to the examples indicated above, the predetermined order used in task T 210  may relate to the elevation angles, azimuths, or assigned identification numbers of the SVs. All or a portion of a method as shown in FIG. 7 may be initiated in response to a request from a mobile unit for correction information (for example, a Request for GPS Almanac Correction as described in TIA/EIA Interim Standard (IS) IS- 801 , Telecommunications Industry Association, Arlington, Va., November 1999). 
     FIG. 8 shows a block diagram for a position determining entity (PDE)  500  according to an embodiment of the invention. Almanac information received from one or more SVs is stored in almanac information storage  410 . On the basis of the stored almanac information, reference position calculator  420  calculates a reference position for a selected SV and presents the position determination to combiner  430 . 
     Ephemeris information received from several SVs is stored in corresponding portions of ephemeris information storage  460 . Under the control of counter  470 , many-to-one multiplexer  450  passes stored ephemeris information for a selected SV to supplemental position calculator  440 . On the basis of the selected ephemeris information, supplemental position calculator  440  calculates a supplemental position for the selected SV (as shown in FIG. 9, a supplemental position calculator  440   a  may calculate a supplemental position on the basis of both almanac and ephemeris information). The operations of reference position calculator  420 , supplemental position calculator  440 , and multiplexer  450  are coordinated (either synchronously or asynchronously) so that reference and supplemental positions for the same SV are presented contemporaneously to combiner  430 . 
     Combiner  430  outputs a correction factor as the computed difference between the reference and supplemental positions. In a related implementation, the correction factor may be a truncated, rounded, or scaled version of this computed difference. One-to-many demultiplexer  480  is controlled (e.g. by counter  470 ) to direct the correction factor to a corresponding location within correction factor storage  490  according to a predetermined order as described herein. In a related implementation, different counters (or other coordination mechanisms) may be used to control multiplexer  450  and demultiplexer  480  to compensate for path delays (e.g. a latency within supplemental position calculator  440  or  440   a ). In another example, wherein demultiplexer  480  and correction factor storage  490  may be omitted, the calculated correction factors are forwarded directly to a transmitter (not shown). 
     Note that although the same number of storage locations are coincidentally indicated in FIG. 8 within ephemeris information storage  460  and correction factor storage  490 , it is not necessary for a correction factor to be computed for every SV for which ephemeris information is stored. However, it may be desirable to construct such a PDE such that each correction factor storage location within correction factor storage  490  corresponds to an ephemeris information storage location within ephemeris information storage  460 . 
     The PDE computes two locations for a SV at a particular moment of time: one location is computed using only almanac data, and one location is computed using ephemeris and almanac data. The PDE then generates the almanac correction data (i.e., the error between the two computed locations at the given moment) and forwards this data to the mobile unit. 
     In a method according to an embodiment of the invention, almanac correction data is sent to a mobile unit without sending the SV IDs. The PDE forwards almanac data to the mobile units, then it forwards almanac correction data for all the satellites in view to the mobile unit without including the satellite IDs. The base station conveys a reference time and a reference location where the correction data is valid. The satellites are arranged in a predetermined order (increasing or decreasing order of elevation or azimuth angles or some other order). The PDE knows which almanac data the mobile unit has in its memory, and the reference time and reference location for which the list of visible satellites will be computed in the mobile unit. Using this information, the base station can predict the exact order that will be computed in the mobile unit, and sends the correction data for the visible satellites in that order. 
     As one example of an implementation of a method according to an embodiment of the invention, the corrections are arranged in an increasing order of elevation angle such that by informing the mobile unit of the arrangement, the mobile unit knows which almanac correction data belongs to which SV because it has the list of satellites that it computed using the increasing order of elevation angles. That is, the base station ranks the order of the SV according to elevation angles and then conveys the parameters to the mobile unit in the same order as the order of elevation angles. Other embodiments include increasing or decreasing order of SV IDs in view in some prearranged fashion that can be computed both at the base station and the mobile unit. 
     Ambiguities in position determination may arise that cause the transmitting entity (e.g. a PDE) to associate correction factors with the objects (e.g. SVs) in a different manner than a receiving entity (e.g. a mobile unit). For example, in a situation where the predetermined order relates to the elevation angles of SVs, factors such as the use of different algorithms, different precision data and/or arithmetic, and rounding may cause a mobile unit to interpret the positions of two closely positioned SVs to be in a different order than that determined by the PDE. Such a confusion may lead to a mobile unit applying a correction factor to the wrong reference position. 
     FIG. 10 shows a flowchart for a method according to an embodiment of the invention. In task T 110 , sets of reference positions are screened to identify a set of positions that has an acceptably low potential for ambiguity and a time of validity corresponding to that set. 
     In task T 220 , a time of validity t g  is chosen for the set of reference positions to be calculated. This time may be sufficiently in the future to allow for delays in transmission and processing. In task T 230 , a set of reference positions with respect to t g  is calculated. In task T 240 , the reference positions within the set are compared to determine whether a potential ambiguity exists. For example, all possible pairs of positions may be tested to ensure that no two positions are closer than a predetermined threshold (e.g. of distance or angle). Alternatively, if the positions are ordered, the task of comparison may be reduced by testing only adjacent positions. FIG. 11 (discussed below) shows an exemplary structure for performing task T 240  in this manner. 
     If a potential ambiguity is indicated, then in task T 260  time of validity t g  is adjusted, and tasks T 230 , T 240 , and T 250  are repeated. For example, task T 260  may include incrementing t g  by a predetermined fixed time step. For a GPS application, such a time step may be measurable in milliseconds. In an alternative embodiment, concurrent execution of task T 110  may be limited to a maximum number of iterations. In a related embodiment, each set of reference positions may be characterized by a degree of ambiguity, such that upon reaching the maximum number of iterations, a least ambiguous set may be chosen. 
     In task T 120 , correction factors are calculated as described above. In task T 212 , the correction factors are transmitted in a predetermined order, along with time of validity t g  (or information sufficient to indicate t g ). In an alternative embodiment, transmission of the correction factors may be delayed according to t g  so that a fixed relation between a time of transmission and a time of validity is maintained. In such case, transmission of information relating to t g  may be omitted. 
     In a method according to a further embodiment of the invention, a transmitting entity (e.g. a PDE) has knowledge that a receiving entity (e.g. a mobile unit) may use one of several different sets of information (e.g. almanac information) to calculate reference positions, wherein the different sets of information are known sufficiently to the transmitting entity. In such a method, the transmitting entity chooses a time of validity (e.g. through tasks analogous to those described herein) at which none of those sets is expected to yield a potential ambiguity (e.g. in elevation angle order). 
     FIG. 11 shows a block diagram for an exemplary implementation of task T 240  as shown in FIG. 10. A set of reference positions as outputted by task T 230  is ordered and available in blocks (e.g. storage elements)  310   i . Adjacent pairs of these positions are combined (e.g. differenced) in combiners  320   i , and the results of such comparisons are tested against a threshold in comparators  330   i . If any pair of the positions is determined to be closer than the threshold, OR gate  340  indicates the detection of a potential ambiguity. 
     FIG. 12 shows a flowchart for a method according to an embodiment of the invention. In this example, the set of reference positions calculated in task T 230   a  is based on almanac data received from one or more SVs. 
     A potential ambiguity as described above may also arise with respect to an elevation mask. Only a handful of the SVs of a GPS system are visible at any one time, and an elevation mask may be used to indicate which SVs are visible. If the elevation mask angle is set to be five degrees, for example, then a satellite having an elevation angle of less than five degrees is considered ‘not visible’. Because of possible differences in elevation angle determinations by the PDE and a mobile unit as described above, a SV having an elevation angle close to the mask may be deemed ‘visible’ by one entity but ‘not visible’ by the other. As a result, the two entities may attach different correspondences between the correction factors and reference positions. 
     FIG. 13 shows a flowchart for a method according to an embodiment of the invention. In task T 242 , the reference positions in each set are compared to the elevation mask angle to determine whether any positions are closer than a predetermined threshold to the mask. FIG. 14 shows a block diagram for an exemplary implementation of task T 242  as shown in FIG.  13 . In this arrangement, reference positions available in blocks  310   i  are combined (e.g. differenced) with the mask angle in combiners  320   i , the results are compared in comparators  330   i  to a predetermined threshold, and the comparison results are combined in OR gate  340 . In an alternative implementation, the reference positions are ordered (e.g. by increasing or decreasing elevation angle) so that it is sufficient to compare the mask angle with only one (e.g. the lowest) or two reference positions (e.g. the closest to each horizon) for each set. 
     FIG. 15 shows a flowchart for a method according to an embodiment of the invention that may be performed by a receiving entity such as a mobile unit. In task T 520 , correction factors are received in a predetermined order. In task T 610 , at least one of the factors is applied (e.g. to correct a reference position). 
     FIG. 16 shows a flowchart for a method according to another embodiment of the invention. In task T 510 , almanac information is received (e.g. from a PDE or directly via an integrated GPS receiver). In task T 530 , a reference position for a selected SV is determined based on the almanac information. At the same or a different time, correction factors are received in a predetermined order in task T 520 . Based on its position within the predetermined order, a correction factor corresponding to the reference position is selected and applied in task T 612 . 
     In a method according to another embodiment of the invention, if a receiving entity receives correction factors having a time of validity in the future but determines that the predetermined order may be unambiguously applied to a set of reference positions, the receiving entity may take advantage of the information immediately. For example, by determining what the elevation angles are going to be half a second in the future, a mobile unit can rank order the elevation angles accordingly and then match up the correction factors based on what the elevation angle order will be at that time. From this information, the computed elevation angles can then be adjusted backwards by half a second to obtain their present values. 
     The foregoing presentation of the described embodiments is provided to enable any person skilled in the art to make or use the present invention. Various modifications to these embodiments are possible, and the generic principles presented herein may be applied to other embodiments as well. For example, the invention may be implemented in part or in whole as a hardwired circuit, as a circuit configuration fabricated into an application-specific integrated circuit, or as a firmware program loaded into non-volatile memory or a software program loaded from or into a data storage medium as machine-readable code, such code being instructions executable by an array of logic elements such as a microprocessor or other digital signal processing unit. Thus, the present invention is not intended to be limited to the embodiments shown above, any particular sequence of instructions, and/or any particular configuration of hardware but rather is to be accorded the widest scope consistent with the principles and novel features disclosed in any fashion herein.