HK1136353B - Method and apparatus for position determination with extended sps orbit information - Google Patents
Method and apparatus for position determination with extended sps orbit information Download PDFInfo
- Publication number
- HK1136353B HK1136353B HK10102789.9A HK10102789A HK1136353B HK 1136353 B HK1136353 B HK 1136353B HK 10102789 A HK10102789 A HK 10102789A HK 1136353 B HK1136353 B HK 1136353B
- Authority
- HK
- Hong Kong
- Prior art keywords
- satellite
- correction
- data
- coordinate system
- orbit data
- Prior art date
Links
Description
RELATED APPLICATIONS
This application claims U.S. patent application No.60/857,972 entitled "Bit Efficient Support Of Extended Orbit For GNSS" filed on month 10 Of 2006, U.S. patent application No.60/886,230 entitled "Efficient Range correction Messages For Accurate positioning by Assisted GPS" filed on month 23 Of 2007, U.S. patent application No.60/888,738 entitled "Bit Efficient Support Of Extended Orbit For GNSS", U.S. patent application No.60/888,738 entitled "Extended orientation Of Extended Orbit For GNSS", filed on month 7 Of 2007, U.S. patent application No.60/896,493 filed on month 3 Of 2007, U.S. patent application No.60/896,493 filed on month 22 Of 2007, U.S. patent application No. 35 filed on month 11 Of 2006, And S. patent application No.60/896,493 filed on month 3 Of "Extended orientation Of Extended Orbit For GNSS", And Method For positioning by means Of Extended orientation Of SPS (Extended orientation Of Orbit) filed on month 11 Of 2006, U.S. patent application No. 11 Of "Method Extended orientation Of Extended Orbit For GNSS", And No. 25 filed on month 23 Of SPS application No. 11 Of the Extended orientation Of the same Methods and apparatus For extending SPS Orbit Information For Position location) "and U.S. patent application No.60/917,622, entitled" Method and apparatus For Position Determination With Extended SPS Orbit Information "filed 24/5 2007, all of which are hereby incorporated by reference in their entirety and assigned to the assignee of the present application, and the benefit of the filing date of U.S. patent application No.60/939,964, entitled" Method and apparatus For Position Determination by extending SPS Orbit Information ".
Background
FIELD
The present invention relates generally to satellite positioning systems, and more particularly to assisting a mobile station in positioning satellites using an efficient messaging format containing extended SPS orbit correction information.
Background information
Satellite Positioning System (SPS) receivers typically determine their position by calculating the times of arrival of signals transmitted simultaneously from multiple satellites. These satellites transmit both satellite positioning data and satellite clock timing data as part of their messages. Satellite positions and clock timing are typically represented by almanac or ephemeris data. Ephemeris data provides an extremely accurate estimate of the satellite position and clock bias (about 1 meter error). However, the process of searching for and acquiring satellite signals, reading ephemeris data transmitted by the satellites, and calculating the position of the receiver from this data is time consuming, typically requiring several minutes. In many cases, such long processing times are unacceptable, and furthermore, greatly limit the battery life of miniaturized portable applications.
For example, the Global Positioning System (GPS) determines position based on measurements of the times of arrival of GPS signals broadcast from orbiting satellites at a GPS receiver antenna. As mentioned, one drawback of such systems is that in some situations it takes a relatively long time to perform signal acquisition. Satellite signals can only be tracked until they have been first located by searching in a two-dimensional search "space" whose dimensions are code-phase delay and observed doppler shift. The process by which an SPS receiver searches for, acquires, and demodulates satellite signals is sometimes referred to as an "independent" mode of operation, as opposed to an "auxiliary" mode of operation.
To reduce the delay associated with the standalone mode of operation, information may be provided to assist an SPS or GPS receiver in acquiring a particular signal. Such side information permits the receiver to narrow the search space that must be searched to find the signal by providing boundaries on the code and frequency latitude. Systems employing GPS receivers augmented with externally sourced GPS assistance data are often referred to as "assisted global positioning systems" (AGPS).
One example of an AGPS system includes a wireless Mobile Station (MS), such as a cellular telephone, having or in communication with a GPS receiver, the mobile station communicating with one or more Base Stations (BSs), also known as Base Transmitter Stations (BTSs) or node BS, of a wireless communication network, which in turn communicate with one or more location assistance servers, sometimes referred to as Position Determination Entities (PDEs), Serving Mobile Location Centers (SMLCs), or the like, depending on the communication air interface protocol. Another example of an AGPS system includes an MS or laptop with or in communication with a GPS receiver, the MS or laptop being capable of communicating with a communication network, such as, but not limited to, the internet, through which the device ultimately communicates with a location assistance server.
The location assistance server derives GPS assistance information from one or more GPS reference receivers. The location assistance server may also have access to means for determining an approximate mobile station position fix. The location assistance server maintains a GPS database containing reference times, satellite orbit almanac and ephemeris information, ionosphere information, and satellite operating condition ("health") information. The location assistance server also calculates assistance information tailored to approximate mobile station position fixes.
The position of an MS in an AGPS system can be determined at the MS with assistance from a location assistance server (sometimes referred to as MS-based positioning mode). During an MS-based positioning mode, when the GPS engine requires updated assistance data, such as ephemeris data, almanac data about a satellite or base station position, base station and/or satellite timing information, or seed position fixes (such as, but not limited to, those determined by Advanced Forward Link Trilateration (AFLT)), etc., the subsequent position fixes will cause the mobile station to contact the communication network for the data, thereby burdening the network and using the power resources of the MS. The location of the MS in an AGPS system may alternatively be determined at a location assistance server using information acquired by the MS and sent back to the MS (sometimes referred to as MS-assisted location mode). The satellite orbit in GPS can be modeled as a modified elliptical orbit with correction terms to account for various perturbations. The relatively short-term ephemeris data provides a very accurate representation of the satellite orbit. For example, bit 17 in word 10 of GPS subframe 2 is a "fit interval" flag indicating the curve fit interval used by the GPS control segment to determine ephemeris parameters, where a "0" indicates a 4 hour fit and a "1" indicates a "greater than 4 hours" fit. In addition, the extended navigation mode of the block II/IIA GPS satellites ensures transmission of correct ephemeris parameters for 14 days to support short term extended operation. During normal operation, the control segment provides daily uploads of navigation (orbit) data to each satellite to support a 16 meter Spherical Error of Probability (SEP) positioning accuracy.
As described above, the location assistance server has accurate track information available. Each ephemeris and clock correction model uploaded by the location assistance server typically covers a 4 hour time span with greater accuracy. To cover longer periods of time, such as a 24-hour period, the location assistance server may send the device multiple 4-hour ephemeris and clock correction models for each of the N satellites in the constellation. However, this would require a large number of octets to describe the satellite positions and clock errors for the full constellation of satellites (e.g., 27 satellites). These long messages will result in long processing times and are therefore unacceptable for most device applications. This will also burden the communication network.
In addition to ephemeris data, satellites in the SPS transmit almanac data that can be used to determine satellite positions and clock offsets. The almanac data provides a truncated reduced precision (coarse) set of ephemeris parameters and coarse clock correction parameters. Thus, coarse satellite fixes (about 1 km) derived from almanac data tend to be much less accurate than satellite fixes (about 1 m) derived from detailed ephemeris data. It should be noted that the satellite orbit may generally be represented by either a coarse set (e.g., almanac) or a precise set (e.g., ephemeris) of orbital and satellite clock parameters.
There is a need for a system and method that provides extended orbit data to an SPS receiver to reduce the frequency of almanac and/or ephemeris downloads required, either directly from the satellites or from a position assistance server.
Description summary
A method and system for assisting a mobile station in locating a satellite using an efficient messaging format is described. The server calculates corrections between the coarse orbit data of the satellite and the precise orbit data of the satellite. A coordinate system is selected that makes the variation of the correction substantially smooth in time. The server also approximates the correction with a mathematical function to reduce the number of bits that must be transmitted to the mobile station. The mobile station, upon receiving the coefficients, evaluates the mathematical function using the coefficients and a time of applicability (e.g., current time), converts the evaluation result to a standard coordinate system, and applies the conversion result to the coarse orbit data to obtain the precise orbit data.
The methods and systems described herein provide a unique approach to solving problems associated with long term satellite orbit data. Advantages of the present method and system include smaller file sizes and smaller messages sent to the mobile station, and better accuracy of satellite positioning and timing. Hybrid operating modes have also been introduced to enhance the prediction of satellite positioning and timing.
Other features of the present invention will be apparent from the accompanying drawings and from the detailed description that follows.
Brief Description of Drawings
The present invention is illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings and in which like reference numerals refer to similar elements. It should be noted that references to "an" or "one" embodiment in this disclosure are not necessarily to the same embodiment, and such references mean at least one.
Fig. 1 is a diagram illustrating an example of a communication system including a server to assist a mobile station in locating satellites.
Fig. 2 is a diagram illustrating a coordinate system in accordance with an aspect of the present invention.
Fig. 3 is a flow chart illustrating an example of a method performed by a mobile station.
Fig. 4 is a flow chart illustrating an example of a method performed by a server.
Fig. 5 is a flow chart illustrating further details of the method of fig. 4.
Fig. 6A is a block diagram illustrating an example of components in a location assistance server.
Fig. 6B is a block diagram illustrating an example of components in a mobile station.
Detailed Description
A method and system for assisting a mobile station in determining satellite positions and satellite clock errors is described. Satellite position and satellite clock errors are determined using an efficient messaging format that includes extended SPS orbit correction information. The methods and systems described herein provide a unique approach to solving problems associated with long term satellite orbit data. In one aspect of the invention, the method reduces the size of files and messages sent to the mobile station. The method also improves the accuracy of the determination of satellite positions and timing at the mobile station. In another aspect of the invention, a hybrid mode of operation is introduced to enhance the prediction of satellite positioning and timing.
By using correction data calculated at the location assistance server and coarse orbit data received in the mobile station, the number of bits required to support extended orbit and clock correction is significantly reduced. The correction data is the difference between satellite positions calculated from a coarse representation of satellite orbits (e.g., but not limited to, an almanac) and those positions calculated from predicted precise orbit data (e.g., orbit data for extended durations, such as 6 hours or more, longer than available from satellite vehicles). The correction data also includes the difference between the clock correction calculated from the coarse orbit data and the time correction calculated from the predicted satellite clock data. These corrections typically vary in time and are unique to each satellite. However, by appropriate choice of the coordinate system, the variation may be relatively smooth. The correction is then characterized by a mathematical function (e.g., but not limited to a polynomial) over time, and the location assistance server provides only the coefficients to the mobile station.
As used herein, a Mobile Station (MS) refers to a device such as a cellular or other wireless communication device, a Personal Communication System (PCS) device, a personal navigation device, a laptop or other suitable mobile device capable of receiving and processing SPS signals. The term "mobile station" is also intended to include devices that communicate with a Personal Navigation Device (PND), such as by short-range wireless, infrared, wireless 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. Moreover, a "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 is also considered a "mobile station".
The term "coarse orbit data" herein refers to a coarse estimate, e.g., an almanac, of satellite positioning and clock data transmitted from satellites. The term "real-time orbit data" refers to an accurate representation of satellite positions and timing, e.g., ephemeris, transmitted from satellites. The term "predicted orbit data" or "precise orbit data" refers to an accurate estimate of satellite position and timing with a relatively extended period of validity compared to real-time precise orbit data. Predicted orbit data is available at the location assistance server. However, transmitting the predicted orbit data to the mobile station typically uses a significant amount of bandwidth. Therefore, transmitting correction data, or an approximation thereof, often greatly improves transmission efficiency.
Fig. 1 is a block diagram of a communication system 100 in accordance with an aspect of the present invention. System 100 includes a location assistance server 130 communicatively coupled to one or more MSs 120. Location assistance server 130 receives coarse orbit data, as well as precise orbit data and/or predicted orbit parameter files containing predicted orbit data. In one scenario, location assistance server 130 receives predicted orbit data from predicted orbit data provider 110 via network 162. The network 162 may be a network (e.g., the internet) that supports Internet Protocol (IP) connectivity. Location assistance server 130 may include an interface, such as a Secure File Transfer Program (SFTP), for securely transferring the predicted orbit data from predicted orbit data provider 110.
In one aspect, predicted orbit data provider 110 generates predicted orbit data every several hours (e.g., 4 hours) to produce orbit data that is valid for an extended duration (e.g., 6 hours or more). The location assistance server 130 checks for new data at short intervals (e.g., every hour). The predicted orbit data may also include a 3D uncertainty value for the predicted satellite coordinates, an uncertainty for the predicted satellite clock correction, and an indication of a predicted outage. Based on the uncertainty and outage information, location assistance server 130 may calculate a user distance error (URE) and provide it to MS 120.
Location assistance server 130 receives coarse orbit data from real-time orbit data provider 150 via network 164. The real-time orbit data provider 150 may be a Global Reference Network (GRN) gateway or a Wide Area Reference Network (WARN) gateway that receives real-time satellite information including, but not limited to, packet-based SPS reference data, navigation messages, health page information, almanac, and ephemeris. In one scenario, network 164 is a network supporting IP connectivity and location assistance server 130 may receive real-time satellite information from real-time orbit data provider 150 in an IP multicast message.
Location assistance server 130 generates correction data 140 from the predicted orbit data and the coarse orbit data. Correction data 140 may be transferred directly to MS120 or to a memory location accessible to the MS. For example, correction data 140 may be stored locally in a memory device or may be stored in a memory device remotely coupled to location assistance server 130. MS120 may receive correction data 140 from data host 160 via network 166 using a file transfer protocol such as FTP, HTTP, or other suitable network protocol.
For purposes of simplifying the discussion herein, the term "correction data" 140 refers to satellite orbit corrections that may be transferred point-to-point from one location, transmitted in a file, broadcast, or transmitted to another location by any data communication means. The message generated by location assistance server 130 has an efficient messaging format that allows MS120 to determine satellite positions and clock timing over an extended period of time with a small number of bits. The message provides MS120 with information to correct the coarse orbit data so that the accuracy of the corrected satellite position falls within a few meters.
In another aspect, the location assistance server 130 may also provide the MS120 with estimation accuracy (user distance error (URE)), an ionosphere correction model, a universal coordinate time (UTC) model, and satellite health/availability information. This ensures the integrity of the satellite data and allows mobile operations without the need to receive and decode data transmitted over the air by the satellite. This also ensures that MS120 uses the same coarse orbit data as used by location assistance server 130.
It should be noted that the system described above is shown for illustrative purposes only, and that other configurations may exist. For example, networks 162, 164, and 166 may alternatively be point-to-point connections, local area networks, wide area networks, broadcast networks, any suitable wired or wireless networks, computer networks, or combinations thereof that support data communications or file transfers.
Those skilled in the art will recognize that the coarse orbit data, which provides a coarse estimate of satellite positions, includes a wide range of forms. In the following description, a recent copy of the GPS broadcast almanac is suggested for use as a rough estimate of satellite position and clock timing to facilitate understanding of the inventive concept. However, all of the following are exemplary of alternative coarse orbit data: an early copy of the GPS broadcast ephemeris; broadcasting a recent copy of the Galileo or GLONASS almanac or ephemeris; non-broadcast coarse models that follow the same form of satellite positioning as the GPS, Galileo, or GLONASS almanac or ephemeris; any subset or enhancement of Keplerian parameters used in GPS, Galileo, and GLONASS almanac and ephemeris formats; any non-Keplerian representation of satellite orbits; and other predicted orbit data that has degraded over time. It should also be understood that corresponding information regarding other satellite navigation systems may also be applicable within the scope of the disclosed methods. The present invention includes any and all methods of describing a coarse track. Those skilled in the art will appreciate that the present method is applicable regardless of the form in which the rough estimate takes.
In some scenarios, the coarse orbit data may be provided to MS120 by location assistance server 130. In addition to conveying a coarse estimate of satellite positioning to MS120, location assistance server 130 also has the ability to include a reference time in an assistance message to the mobile station. In this aspect of the invention, the location assistance server 130 obtains the reference time from a network time server, or from GPS data received from individual reference receivers (e.g., a wide area reference network or a global reference network). The reference time information may be appended to a message transmitted to MS120 containing a coarse estimate of satellite positioning. Location assistance server 130 may also implement algorithms that can improve the timing accuracy of the reference time provided by the network time server and convey this more accurate time to MS 120.
It should be noted that MS120 may obtain the reference time directly from a packet-switched data network (e.g., a network time server or a CDMA communications network) that may or may not be synchronized with GPS time, independent of location assistance server 130. In this manner, the MS120 obtains an estimate of a global time reference, e.g., GPS time, universal coordinate time (UTC) time, (WWO) time, etc.
Fig. 2 shows an example of a coordinate system based on which correction data 140 is calculated. The trajectory 21 represents the actual satellite orbital trajectory which can be substantially estimated by accurate orbit prediction. The track 22 represents a track trajectory estimated by coarse track data such as, but not limited to, a broadcast almanac. At any time there is a spatial difference between the position at which the satellite in terms of the broadcast almanac will be and the position at which the satellite in terms of the precise orbit prediction will be. The difference may be encoded in a coordinate system 23, which coordinate system 23 is a coordinate system having an origin and an axis that move with the body frame of the satellite. Under the representation of the rectangular coordinate system 23, the "error signal" as the difference between the accurate predicted satellite positioning and the almanac-based satellite positioning becomes a substantially smooth curve. The change in the error signal is substantially smooth in time such that there is no discontinuity or sharp turn therein when the error signal is represented as a function of time. In the embodiment of fig. 1, the error signal constitutes correction data 140. Potential techniques for expressing error signals in a selected coordinate system actually minimize the order of the polynomial required to express these "error signals" to achieve any given accuracy.
In one aspect, correction data 140 includes four dimensions of information: three spatial dimensions (represented by the three axes of the coordinate system) to describe the satellite positioning error, and a time dimension (4 th dimension) to describe the clock correction of the satellite clock.
The three axes of the coordinate system 23 are: ra as a unit vector pointing from a coarse satellite fix (e.g., a satellite fix determined from a broadcast almanac) to a reference position. Since the reference position in the usual case is the center of the earth, this axis is interpreted as "radial". Those skilled in the art will appreciate that the reference location may be any location (e.g., inside the earth, above the earth, on the earth's surface, or near the surface) that can be determined with reasonable accuracy.
The other axis is Xt: "cross-track", which is defined as Xt ═ Ra × Vel/| Ra × Vel |. Vel is the almanac-based satellite velocity vector, and "x" indicates the vector cross product. Xt is therefore perpendicular to both the radial vector Ra and the direction of motion of the satellite.
The third axis is At: "straight-along trajectory", which is defined as At — Xt × Ra. The At vector is nearly, but not completely, parallel to the velocity vector (Vel) of the satellite. This is because the velocity vector of the satellite is not strictly orthogonal to Ra due to orbital eccentricity (e.g., the satellite orbit is essentially elliptical rather than circular). The satellite velocity vector Vel generally has a component in the radial direction Ra as the radius of the satellite orbit increases and decreases with time.
The three axes of the coordinate system 23 defined above are functions of time, since they depend on the instantaneous positioning of the satellite along its orbit. Particularly as the satellite orbits the earth, the radial and along-orbit vectors Ra and At rotate a full 360 ° when expressed in the earth-centered earth-fixed (ECEF) XYZ coordinate system 24. Note that these axes are calculated using almanac-based satellite position estimates. This allows the axes of the coordinate system 23 to be calculated by the position assistance server 130 before the almanac corrections are calculated. In the example of coordinate system 23, the order in which the axes are calculated is critical to the proper orientation of the coordinate system. Thus, first the radial vector Ra, second the cross track vector Xt, and finally the trailing track vector At are calculated.
The above defined axis orientations are different for each satellite. The unit vectors may be written to and dependent on the satellite pseudo-random number (PRN) and t, which explicitly index the satellite and the current time, respectively, as Ra (PRN, t), At (PRN, t), Xt (PRN, t). However, for simplicity of labeling, these dependencies are written as implicit in the following discussion.
Other coordinate systems may also be employed for coarse track data correction, such as, but not limited to, a radial/cross track/velocity coordinate system (other than (Ra, At, Xt) above); a differentiated 3D ECEF XYZ coordinate system, or an array/elevation/azimuth (polar) coordinate system.
Those skilled in the art will recognize that the (Ra, At, Xt) coordinate system (following the convention left-hand rule) is illustrative and preferred, but that a wide range of other axis systems are contemplated by the present invention. A salient feature of these axis systems is that they tend to have two spatial dimensions with fairly relaxed accuracy requirements compared to the third spatial dimension. In the example of (Ra, At, Xt,) coordinate system 23, At and Xt typically have more relaxed accuracy requirements (e.g., 1/7) than Ra. The coordinate system may be orthogonal or non-orthogonal. For the purpose of coarse orbit data correction, the non-rectangular coordinate system may be any axis system in which one axis always makes a relatively shallow angle with respect to the Ra axis, even if it has a different origin from the (Ra, At, Xt) coordinate system 23. This would include, for example, a coordinate system where one axis is Ra but the other two axes are azimuth and elevation of the satellite, and a coordinate system where any other choice is made for the other two axes.
In addition, any axis system in which one axis is parallel to a straight line drawn from a point near the satellite position estimate to a point near the receiver position on earth falls within the scope of the present invention. Although fig. 2 has illustrated the Ra axis pointing to the center of the earth, an axis pointing to any point near the receiver on the ground, or any other determinable reference location, is within the scope of the present invention.
Furthermore, the location of the origin of the (Ra, At, Xt) coordinate system 23 may be modified within the scope of the present invention. The origin at the satellite position is only of mathematical convenience. In particular, an origin defined as being At an actual or accurately predicted satellite position (relative to being At a satellite position estimate in the (Ra, At, Xt) coordinate system 23) is also within the scope of the present invention.
Each of the three spatial dimensions of the correction data may be represented as a function of time in a selected coordinate system, such as the (Ra, At, Xt) coordinate system 23, over a predetermined period of time (e.g., a 6 hour period). Theoretically, the correction data can be accurately represented by a polynomial of finite order. In practice, however, the correction data may be approximated in a relatively lower order, e.g., 6 th, 7 th, or other lower order. Thus, a large number of polynomial terms and associated coefficients are truncated, and only a small number of portions of the polynomial terms and associated coefficients are used as approximations of the correction data. In addition to spatial correction, a low order (e.g., first order or any suitable low order) polynomial may be used to describe clock correction parameters that represent an approximation of the difference between the clock timing and the predicted clock deviation in the coarse orbit data. Other accurate clock predictions available at location assistance server 130 may also be used as the predicted clock bias, such as clock information in the real-time orbit data, if available.
Those skilled in the art will recognize that the present invention includes expanding the correction data into a series of functions, where the more functions used the more likely the accuracy of the expansion is increased. It is not necessary to increase the number of functional stages by powers of x so that the correction data is represented as a polynomial. Those skilled in the art will recognize that the data correction may also be expanded on other series of functions, including harmonics, Hermite polynomials, Legendre polynomials, cosine and sine functions (fourier expansion), and coefficients of Keplerian orbital functions. This list is illustrative and not exhaustive. It is within the scope of the invention to expand the correction data in an arbitrary set of functions.
The four spatial and temporal sets of polynomial coefficients are sent to MS120 along with information to associate the coefficients with a particular satellite, a particular time interval, and a particular copy of coarse orbit data. MS120 receives a new copy of the coarse orbit data at predetermined intervals (e.g., approximately once per week or other suitable time interval). Location assistance server 130 calculates correction data using the same version of coarse orbit data that MS120 will use. Thus, MS120 may use either the coarse orbit data it has acquired or the coarse orbit data transmitted by location assistance server 130, as long as the correction data is applied to the corresponding coarse orbit data used by location assistance server 130 in determining the correction.
Fig. 3 illustrates an example of operations performed by MS 120. Note that the process illustrated in fig. 3 may be performed by processing logic, which may comprise software, hardware, or a combination of both. Once MS120 has the polynomial coefficients and the applicability time, the mobile station can reconstruct accurate predictions of satellite positions and clock bias. For any particular time during the applicability period of the coefficients, MS120 may find satellite positions and clock biases that fall within a predetermined range of accuracy.
At block 31, MS120 receives coarse orbit data (e.g., almanac data) from the satellites in view or from position assistance server 130. It is preferable and more efficient for MS120 to receive coarse orbit data from location assistance server 130 because it may take several minutes to download such data from a satellite. Location assistance server 130 may provide the coarse orbit data along with the correction data to MS120 in a message/file. It should be understood that what is referred to as "correction data" at MS120 may be an approximation of the correction computed at location assistance server 130. At block 32, MS120 generates a satellite position fix in the ECEF coordinate system using its copy of the coarse orbit data. Satellite positions calculated from the coarse orbit data and represented in a standard coordinate system, such as the ECEF coordinate system, are referred to as PosAlm(here, subscript "alm" stands for "almanac" and is used as an example of coarse orbit data). At block 33, MS120 receives the coefficients of one or more series of mathematical functions from location assistance server 130. At block 34, MS120 reconstructs the spatial correction data for the coarse orbit data for the current time by evaluating a mathematical function corresponding to a time of applicability (e.g., the current time) using the coefficients it received. At block 35, MS120 converts the spatial correction found in block 34 from a coordinate system (e.g., (Ra, At, Xt) coordinate system 23 of fig. 2) to ECEF coordinates. The converted correction is called PosCor. Followed byThe MS120 calculates Pos at block 36 by calculating PosSat=PosAlm+PosCorCalculating the satellite position (Pos) in ECEF coordinatesSat). At block 37, the MS120 performs the same operations as in blocks 34 and 36 to determine an accurate clock bias. It is to be understood that the operations of the mobile station may occur in a different order than described above and that other operations may be performed. For example, at block 36, Pos is computed asSat=PosAlm+PosCorAlternatively, MS120 may choose to be in range space RSat=RAlm+RCorApplication of Pos in ChineseCorWhere R represents the calculated range from MS120 to the satellite.
Fig. 4 illustrates an example of operations performed by location assistance server 130. Note that the process illustrated in fig. 4 may be performed by processing logic, which may comprise software, hardware, or a combination of both. Location assistance server 130 calculates polynomial coefficients describing the correction data in the following description.
At block 410, the position assistance server 130 obtains precise orbit data for the satellite orbit and clock bias, e.g., from satellite broadcast signals or from an external data provider. The precise orbit data is valid for a predetermined validity period. At block 420, the position assistance server 130 obtains coarse orbit data in a format supported by the particular satellite navigation system. At block 430, location assistance server 130 determines whether to divide the validity period into N-hour fit intervals or to use the entire validity period as one fit interval. The fitting interval herein refers to a period for which polynomial coefficients are calculated for correction data describing the period. An example of a fit interval is 4-6 hours, although other time periods may be used. If location assistance server 130 has precise orbit data with an extended validity period, the location assistance server may divide the precise orbit data into a plurality of fitting intervals to improve the accuracy of the fitting. At block 440, for each N-hour fit interval, location assistance server 130 performs the operations described in fig. 5 below to calculate correction data and an approximation thereof. At block 450, location assistance server 130 conveys an approximation of the correction data to MS 120.
Referring to fig. 5, at block 510, the position assistance server 130 uses the precise orbit data to form a time series of satellite positions in an ECEF coordinate system. These satellite positions are defined as PosSat. At block 512, the position assistance server 130 calculates a satellite position fix in ECEF coordinates using the coarse orbit data. These satellite positions are defined as PosAlm. At block 514, the location assistance server 130 computes PosCor=PosSat-PosAlmTo calculate a correction data vector (Pos) in ECEF coordinatesCor). At block 516, the position assistance server 130 uses the satellite positioning PosSatThe Ra, Xt, and At unit vectors in the rectangular coordinate system 23, or the other coordinate system described above, are calculated. At block 518, the method proceeds by calculating the dot product RaCor=PosCorRa obtains a time series of components along the radial axis Ra in the correction. At block 520. Similarly calculated are the cross-track and trail-correction time series XtCorAnd AtCor. At block 522, correction data for clock skew is calculated as CBCor=CBSat-CBAlmWherein CBSatAnd CBAlmRespectively, clock corrections using a fine clock model and a coarse estimate clock model.
At block 524, location assistance server 130 may scale and/or normalize the time axis of the polynomial interpolation to improve the performance of the interpolation. Location assistance server 130 and MS120 expect to use the same scaling and/or normalization factors in order to properly reconstruct the correction data in the mobile software.
At block 526, the position assistance server 130 finds the corrections Ra for interpolating radial, trail, and cross-trail correctionsCor、AtCorAnd XtCorThe polynomial coefficient of (1). RaCorPolynomial coefficient of (Ra)0,Ra1,...Raj) Is selected such that Ra0f0(d)+Ra1f1(d)+..+Rajfj(d) Is RaCorWhere d is a correction data point, and f0,f1,...fjIs an interpolation function. The coefficients can be selectedIs selected such that the polynomial approximates Ra with a least squares errorCor. Location assistance server 130 similarly looks for XtCorAnd AtCorSuch that these coefficients Xt0,Xt1,Xt2..Xtk,At0,At1,..,AtmProvide pairs XtCorAnd AtCorA good approximation of. Finally, at block 530, the location assistance server 130 looks for clock bias correction CBCorThe coefficients of the interpolation function of (2). It should be understood that the number of coefficient terms used to represent the corrections in each of the spatial and temporal dimensions may not be the same. More coefficients for a dimension generally correspond to a more accurate representation of the correction data for that dimension.
If there are multiple N-hour fit intervals corresponding to the expiration period, the operations of blocks 510-530 are repeated. The order of the operations may be different from that described above, and may include other operations.
The correction data generated by location assistance server 130 of fig. 1 may be global or local. When the location of MS120 is completely unknown or cannot be estimated within an accuracy of hundreds of kilometers, location assistance server 130 generates a global message for the MS. Global messages can be sent to mobile stations anywhere on the earth to produce accurate satellite positions. Local messages are much shorter, but they are accurate only within a few hundred axiom radii of some target reference point on the earth's surface. Thus, shorter local messages may be sent when the mobile station location is known in advance to be within hundreds of kilometers. A global message may be sent to the mobile station when the location of the mobile station is unknown. The differences between global and local messages are described below.
The global message uses the center of the earth as a reference position for the (Ra, At, Xt) coordinate system. Since the almanac error has four independent dimensions (three spatial dimensions and clock bias), the global message includes four polynomials, three of which are used to fit the orthogonal spatial components of the satellite positioning error, and a fourth polynomial to describe the more accurate clock bias.
The local message uses the reference position of a point on the earth's surface as the (Ra, At, Xt) coordinate system. Typically, the location assistance server 130 uses an estimate of the current location of the mobile station as a reference location (e.g., the location of the cell tower with which the mobile station is communicating). The local message contains a single polynomial fit to the correction. One-dimensional corrections include both corrections to the spatial distances to the satellites (also referred to as pseudoranges) and corrections to the clock bias. Since only one polynomial is sent, the local message is significantly shorter than the global message.
The pseudorange corrections are calculated for a reference position that is ideally as close as possible to the position where the mobile station is actually located. The positioning results are quite accurate as long as the mobile station is within about 100km of the estimated reference position. As the true position of the mobile station deviates from the estimated reference position by more than 100km, the accuracy slowly degrades. A mobile station may determine its degradation in location accuracy by first calculating its position and then comparing it to a reference position for correction data.
In another aspect, MS120 of fig. 1 may use a combination of orbit data to determine satellite positions and clocks. In some scenarios, MS120 receives real-time orbit data (e.g., ephemeris) in addition to the correction data. For a single satellite, MS120 may use real-time orbit data for one time period, corrected orbit data (including correction data applied to coarse orbit data) for another time period, and a combination of both (e.g., a weighted average) for yet another time period. To determine its position from multiple satellites, MS120 may use a combination of both real-time orbit data for one satellite, corrected orbit data for another satellite, and yet another satellite. The skilled person will appreciate that the various combinations described above are merely illustrative. MS120 may use any combination of real-time orbit data and corrected orbit data for different satellites in time or otherwise.
In an aspect, MS120 may use real-time orbit data decoded from the satellites whenever real-time orbit data is available. Real-time orbit data is generally more accurate than early predicted orbit data, which may gradually degrade over a period of time. Thus, the corrected orbit data, which approximates the predicted orbit data, also gradually degrades over time. Also, the real-time orbit data may contain new information about the satellite that is not known at the time of the prediction (e.g., satellite health and integrity information). However, real-time orbit data is sometimes unavailable to MS120 due to out-of-line-of-sight, shadowing, or other reception problems that prevent MS120 from receiving satellite broadcasts. When real-time orbit data is not available, MS120 may switch to the correction data to locate the satellites as described above in fig. 2-5. Thus, MS120 may utilize corrected orbit data for one period of time and real-time orbit data for another period of time, depending on the availability of real-time orbit data. To determine its own position fix at any time, MS120 may utilize corrected orbit data for one or more satellites and real-time orbit data for one or more other satellites.
The previous paragraph describes the situation where the corrected orbit data is replaced with available real-time orbit data during the validity period of the real-time orbit data. For example, the MS120 may switch back to corrected orbit data after ephemeris is no longer valid (+/-2 hours from ephemeris time, i.e., TOE). Alternatively, early real-time orbit data may be used to improve the accuracy of the corrected orbit data. For example, MS120 may use the real-time orbit data to determine an amount of adjustment to apply to corrected orbit data for a future time period, which may be used when the real-time orbit data is unavailable (or invalid). This is particularly beneficial for satellite clocks, as the clock timing is generally not as predictable as the satellite orbit. In a simple case, the corrected satellite vehicle clock may be evaluated against real-time broadcast satellite clock parameters (e.g., subframe 1 from GPS navigation) to determine the amount of adjustment to the corrected clock. The adjustment (e.g., including differential offset and slope) may be applied to the corrected clock information for use when the real-time clock is unavailable. In the enhanced case, adjustments may be made to the entire corrected orbit data, including satellite positioning and satellite clocks in three spatial dimensions.
In addition, the real-time orbit data and predicted orbit data may be based thereonThe accuracy estimates of these are weighted. MS120 may appropriately weight the participating satellite measurements for its position in the scheme and account for the degraded accuracy of the predicted data. The accuracy estimates of the real-time orbit data and predicted orbit data are referred to as "error estimates of the precise or short-term predicted data" and "error estimates of the long-term predicted data," respectively. For example, the almanac contains uncertainty estimates in the form of urs (calculated or provided by the location assistance server 13), and the real-time ephemeris data contains uncertainty estimates in the form of URA (User Accuracy Range), provided by the GPS control segment for example. URA is typically a few meters, while URE may be tens of meters after a few days. For example, both error estimates may be used as weights in a Weighted Least Squares (WLS) model. The weights may be calculated as: w(short term prediction orbit)=1/URA2And W(Long term prediction orbit)=1/URE2。
In particular, satellite measurements with smaller satellite positioning errors (represented by URA in the above example) are weighted more heavily than satellite measurements with larger predicted satellite positioning errors (represented by URE in the above example). Satellite measurements for position, velocity, time solutions, or any combination of position/velocity/time solutions may be weighted. The weighted position/velocity/time solution may be calculated from the satellite measurements by a weighted least squares model (WLS) or Kalman filter, or some other linear, linearized, or non-linear estimation method.
At MS120, during position/velocity/time calculations, error estimates of satellite positioning errors (either real-time ephemeris (URA) or predicted orbit errors (URE)) are combined with measured pseudorange errors (due to signal strength, atmosphere, quantization, RF to digital conversion, etc.) in order to calculate the overall measurement error. In other words, at MS120, the overall pseudorange error: variance _ total _ mean _ error-variance _ satellite _ position _ error + variance _ mean _ error.
Furthermore, when MS120 uses a mix of real-time and predicted orbit information from multiple satellites to determine its own position, additional satellite measurements may be used to solve for the predicted satellite clock error. The additional satellite measurements may be real-time orbit data for a satellite and may be used to estimate the predicted clock error for the same satellite. Alternatively, the additional satellite measurements may be real-time orbit data of the first satellite and may be used to estimate the predicted clock error of the second satellite. The predicted clock error may be removed from the corrected clock to improve the accuracy of the corrected clock computed at the mobile station. In this way, the real-time orbit data and satellite clock correction data can be used to affect real-time adjustments to the predicted satellite clock information.
Since the predicted satellite clock degrades faster than the predicted satellite position, additional satellite measurements can be used with the predicted satellite position to calculate the predicted satellite clock error and make adjustments to the predicted clock for future use. Similarly, if current real-time orbit data for at least one additional in-line satellite is available, this real-time data may be used with pseudorange and range rate (range) measurements for that satellite to calculate a predicted satellite clock error for another in-line satellite. For a 2-dimensional position estimate (some altitude knowledge is available), at least 4 in-line satellites would be needed to estimate the predicted satellite clock error for one satellite. For 3-dimensional position estimation, at least 5 in-line-of-sight satellites would be required to estimate the predicted satellite clock error for one satellite. Each additional satellite may be used to estimate another predicted satellite clock error. In a 3-dimensional scenario (with 4 unknowns), if measurements from 7 satellites are available, for example, the predicted satellite clock errors for three satellites can be estimated.
Fig. 6A illustrates an example of a block diagram of the location assistance server 130 of fig. 1. Location assistance server 130 includes a memory 604 and a processor 605. Location assistance server 130 also includes a secure interface 61 for securely receiving predicted orbit data from an external data provider, a receiver interface 62 for receiving broadcast data (e.g., almanac) and information communicated over the network (e.g., predicted orbit data), and a transmitter interface 65 for communicating coefficients to MS120 for use in determining predicted satellite orbit data. Transmitter interface 65 may communicate the coefficients via a wired or wireless network, a broadcast medium, or any suitable data transmission means.
In one scenario, location assistance server 130 may also include a correction unit 63 for calculating a difference ("correction") between the coarse orbit data and the predicted orbit data. The location assistance server 130 may further include an approximation unit 64 for calculating an approximation of the correction using a coordinate system (e.g., (Ra, At, Xt) coordinate system 23 of fig. 2) selected such that the change in correction is substantially smooth over time. In one scenario, the approximation is calculated by interpolating the correction data points using one or more low-order mathematical functions. Encoding unit 610 encodes the approximation to transmit to MS 120.
Fig. 6B provides an example of a block diagram of components of MS 120. MS120 includes memory 608 and processor 609. MS120 also includes a receiver interface 66 for receiving the sequence of coefficients from location assistance server 130. Receiver interface 66 also receives coarse orbit data and/or real-time orbit data, such as almanac, ephemeris, and/or other satellite positioning and timing information, from satellite broadcasts, position assistance server 130, or other data sources. Receiver interface 66 may receive coefficients via a wired or wireless network, a broadcast medium, or any suitable data transmission means. MS120 includes a decoding unit 620 to decode the coefficient sequence sent from location assistance server 130. In one scenario, MS120 may also include an evaluation unit 602, a conversion unit 68, and a reconstruction unit 67. The evaluation unit 602 evaluates the mathematical function using the coefficients and the applicability time (e.g., the current time). The conversion unit 68 converts the evaluated result from the coordinate system used by the position assistance server 130 (for example, the (Ra, At, Xt) coordinate system 23 of fig. 2) to the ECEF coordinate system. Reconstruction unit 67 then reconstructs the predicted orbit data by applying the conversion result to the coarse orbit data.
The methods described herein may be implemented by various means depending on the application. For example, the above components of location assistance server 130 and MS120 may be implemented in hardware, firmware, software, or a combination thereof. For a hardware implementation, the various processing units may be implemented within one or more Application Specific Integrated Circuits (ASICs), Digital Signal Processors (DSPs), Digital Signal Processing Devices (DSPDs), Programmable Logic Devices (PLDs), Field Programmable Gate Arrays (FPGAs), processors, controllers, micro-controllers, microprocessors, electronic devices, other electronic units designed to perform the functions described herein, or a combination thereof.
For a firmware and/or software implementation, the methodologies may be implemented with modules (e.g., procedures, functions, and so on) that perform the functions described herein. Any machine-readable medium tangibly embodying instructions may be used in implementing the methodologies described herein. For example, referring back to fig. 6A and 6B, the software codes may be stored in a memory (e.g., memory 604 of location assistance server 130 and memory 608 of MS 120) and executed by a processor (e.g., processor 605 of location assistance server and processor 609 of MS 120). The memory may be implemented within the processor or external to the processor. As used herein, the term "memory" refers to any type of long term, short term, volatile, nonvolatile, or other memory and is not to be limited to any particular type of memory or number of memories, or type of media upon which memory is stored.
The methods and apparatus described herein may be used with various Satellite Positioning Systems (SPS) or Global Navigation Satellite Systems (GNSS), such as, but not limited to, the united states Global Positioning System (GPS), the russian Glonass system, the european Galileo system, any system using satellites from a combination of satellite systems, or any satellite system developed in the future. Furthermore, the disclosed methods and apparatus may be used with positioning 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 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.
The positioning techniques described herein may be used for various wireless communication networks, such as Wireless Wide Area Networks (WWANs), Wireless Local Area Networks (WLANs), Wireless Private Area Networks (WPANs), and so on. The terms "network" and "system" are often used interchangeably. The 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, or the like. A CDMA network may implement one or more Radio Access Technologies (RATs), such as CDMA2000, wideband-CDMA (W-CDMA), and so on. cdma2000 covers 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 other RAT. GSM and W-CDMA are described in documents from a consortium named "third generation partnership project" (3 GPP). CDMA2000 is described in a document from a consortium named "third generation partnership project 2" (3GPP 2). The 3GPP and 3GPP2 documents are publicly available. The WLAN may be an IEEE 802.11x network, while the WPAN may be a Bluetooth network, an IEEE 802.15x, or other type of network. The present techniques may be used for any combination of WWAN, WLAN, and/or WPAN.
Although the present invention has been described with reference to specific exemplary features, it will be evident that various modifications and changes may be made to these features without departing from the broader spirit and scope of the invention as set forth in the claims. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense.
Claims (65)
1. A method of assisting a mobile station to obtain orbital information of a satellite, the method comprising:
calculating, with a processor of a server, a correction between coarse orbit data of the satellite and precise orbit data of the satellite, wherein the precise orbit data is more accurate than the coarse orbit data and the precise orbit data has a shorter validity period than the coarse orbit data;
transforming, with the processor of the server, the corrected spatial components from a first coordinate system representation to a second coordinate system selected such that changes in the second coordinate system of the correction are substantially smooth in time, wherein the correction further comprises a difference between the position of the satellite calculated from the coarse orbit data and the position of the satellite calculated from the precise orbit data; and
transmitting corrections encoded in the second coordinate system from the server to a mobile station to enable the mobile station to estimate more accurate orbit data of the satellite by applying the corrections to coarse orbit data received at the mobile station, wherein the corrections are approximately represented by coefficients of one or more series of mathematical functions.
2. The method of claim 1, further comprising:
approximating the correction in the second coordinate system to reduce a number of bits for transmission to the mobile station.
3. The method of claim 1, wherein the second coordinate system comprises an axis that moves with the satellite.
4. The method of claim 3, wherein the second coordinate system comprises a radial axis that is parallel to or coincides with a straight line connecting a reference position and the estimated position of the satellite.
5. The method of claim 4, wherein the second coordinate system further comprises a cross-track axis perpendicular to the radial axis and the direction of satellite motion.
6. The method of claim 2, wherein said approximating said correction comprises:
using the position of the rover station as a reference position of the second coordinate system; and
transmitting the approximate correction as one-dimensional data from a server to the mobile station, the correction comprising a spatial dimension combined with a clock correction.
7. The method of claim 2, wherein said approximating said correction comprises:
using the center of the earth as a reference position for the second coordinate system; and
transmitting the approximate correction as four-dimensional data, the correction comprising three spatial dimensions of the second coordinate system and a time dimension of a corresponding clock correction.
8. The method of claim 1, wherein the correction is substantially more accurate in one spatial dimension than in other spatial dimensions.
9. The method of claim 1, further comprising:
obtaining a reference time from a time server; and
transmitting the reference time from the server to the mobile station along with an estimate of satellite position.
10. The method of claim 9, further comprising:
improving the accuracy of the reference time obtained from the time server; and
appending the reference time to the estimate of satellite positioning to form a message for transmission to the mobile station.
11. The method of claim 1, further comprising:
a correction to approximate satellite time base; and
transmitting the approximate satellite timing correction from the server to the mobile station to determine a clock bias of the satellite.
12. The method of claim 2, further comprising:
the correction is communicated to a data file host accessible to the mobile station.
13. A method for a mobile station to estimate more accurate orbit information of a satellite, comprising:
transforming, with a processor, a correction for a spatial component of satellite trajectory data from a first coordinate system to a second coordinate system; and
applying, with the processor, the transformed correction to coarse orbit data to estimate more accurate orbit information for the satellite, wherein the correction comprises a difference between a position of the satellite calculated from the coarse orbit data and a position of the satellite calculated from precise orbit data, wherein the correction is approximately represented by coefficients of one or more series of mathematical functions, wherein the precise orbit data is accurate than the coarse orbit data and the precise orbit data has a shorter validity period than the coarse orbit data.
14. The method of claim 13, wherein the correction in the first coordinate system has a relatively smooth variation in time.
15. The method of claim 13, wherein the correction in the first coordinate system has a higher accuracy in one spatial dimension than in other spatial dimensions.
16. The method of claim 13, wherein axes of the first coordinate system rotate with motion of the satellite.
17. The method of claim 13, wherein axes of the first coordinate system are defined by a position or a motion of the satellite.
18. The method of claim 13, wherein the transforming and applying are performed by the mobile station.
19. The method of claim 13, further comprising:
calculating the correction to satellite trajectory data at a server, wherein the server comprises the processor; and
transforming, at the server, the correction from the second coordinate system to the first coordinate system with the processor.
20. A method for estimating more accurate orbit information for a satellite, comprising:
receiving, at a mobile station, a correction to coarse orbit data of a satellite, wherein the correction comprises a difference between a position of the satellite calculated from the coarse orbit data and a position of the satellite calculated from precise orbit data, wherein the correction is approximately represented by one or more coefficients of a series of mathematical functions, wherein the precise orbit data is more accurate than the coarse orbit data and the precise orbit data has a shorter validity period than the coarse orbit data;
transforming, with a processor of the mobile station, the corrected spatial components from a first coordinate system to a second coordinate system, the correction represented in the first coordinate system having a higher accuracy in one spatial dimension than in other spatial dimensions; and
applying the correction to the coarse orbit data to estimate more accurate orbit information for the satellite.
21. The method of claim 20 wherein the first coordinate system comprises three orthogonal axes.
22. The method of claim 20, wherein the first coordinate system comprises non-orthogonal axes.
23. The method of claim 20, wherein the first coordinate system comprises a radial axis that is parallel to or coincides with a straight line connecting a reference location and the estimated position of the satellite.
24. The method of claim 23, wherein the reference location is the center of the earth.
25. The method of claim 23, wherein the reference position is an estimated position of the mobile station.
26. The method of claim 20, wherein the corrections are represented by coefficients of a series of mathematical functions corresponding to each of the spatial dimensions.
27. A method for estimating more accurate orbit information for a satellite, comprising:
receiving coarse orbit data of a satellite at a mobile station;
receiving correction data for the coarse orbit data of the satellite at the mobile station, wherein the correction comprises a difference between a position of the satellite calculated from the coarse orbit data and a position of the satellite calculated from fine orbit data, wherein the correction is approximately represented by coefficients of one or more series of mathematical functions, wherein the fine orbit data is more accurate than the coarse orbit data and the fine orbit data has a shorter validity period than the coarse orbit data;
converting, with a processor of the mobile station, a spatial component of the correction data from a first coordinate system to a second coordinate system, wherein the first coordinate system is selected to smooth a change in the correction over time; and
applying, with the processor of the mobile station, the correction data to the coarse orbit data to estimate more accurate orbit information for the satellite.
28. The method of claim 27, further comprising:
determining a position and a timing of the satellite based on the correction data.
29. The method of claim 27, wherein said receiving the correction data comprises:
receiving a sequence of coefficients of a series of mathematical functions corresponding to at least one axis of the first coordinate system; and
evaluating, with the processor of the mobile station, the one or more series of mathematical functions using the sequence of coefficients and an applicability time to obtain the correction data.
30. The method of claim 27, wherein the first coordinate system comprises an axis that moves with the satellite.
31. The method of claim 30, wherein the first coordinate system comprises a radial axis that is parallel to or coincides with a line connecting a reference location and an estimated position of the satellite.
32. The method of claim 31 wherein the first coordinate system further comprises a cross-track axis perpendicular to the radial axis and the direction of satellite motion.
33. The method of claim 27, further comprising:
using the position of the rover station as a reference position of the first coordinate system; and
coefficients of a series of mathematical functions are received at the mobile station, the coefficients representing one-dimensional data comprising a spatial dimension combined with clock correction.
34. The method of claim 27, further comprising:
using the center of the earth as a reference position for the first coordinate system; and
receiving at the mobile station coefficients of a series of four mathematical functions representing four dimensional data comprising three spatial dimensions of the first coordinate system and a corresponding clock corrected time dimension.
35. The method of claim 27 wherein said correction data represented in said first coordinate system has a higher accuracy in one spatial dimension than in other spatial dimensions.
36. The method of claim 27, further comprising:
receiving a reference time from one of: a network time server, a location assistance server, a packet switched data network, or GPS data received from a reference receiver.
37. A server system, comprising:
a correction unit that calculates a correction between coarse orbit data of a satellite and precise orbit data of the satellite, wherein the precise orbit data is more accurate than the coarse orbit data and the precise orbit data has a shorter validity period than the coarse orbit data, and the correction unit represents a spatial component of the correction using a coordinate system having an axis that moves with the satellite, wherein the correction includes a difference between a position of the satellite calculated from the coarse orbit data and a position of the satellite calculated from the precise orbit data, wherein the correction is approximately represented by coefficients of one or more series of mathematical functions; and
a transmitter interface that communicates the correction to a mobile station to enable the mobile station to estimate more accurate orbit data of the satellite by applying the correction to coarse orbit data received at the mobile station.
38. The server system of claim 37, further comprising:
an approximation unit that approximates the correction in the coordinate system to reduce the number of bits that must be transmitted to the mobile station.
39. The server system of claim 38, wherein the approximation unit approximates the correction using coefficients of the one or more series of mathematical functions.
40. The server system of claim 38, wherein the server system is coupled to a data storage device that stores the approximate correction for use by the mobile station.
41. The server system of claim 38, further comprising:
the transmitter interface communicates the approximate correction to the mobile station via a network.
42. The server system of claim 38, further comprising:
the transmitter interface broadcasts the approximate correction to the mobile station.
43. The server system according to claim 37, wherein the coordinate system comprises a radial axis parallel to or coincident with a straight line connecting a reference position and the estimated position of the satellite.
44. The server system of claim 37, wherein the correction unit comprises a logic module to calculate a clock correction for the satellite.
45. The server system of claim 44, wherein the clock correction is to be approximated by one or more coefficients of one or more series of mathematical functions.
46. The server system of claim 37, further comprising:
a receiver interface to receive a reference time from a time server; and
the transmitter interface communicates the estimate of the reference time with satellite positioning to the mobile station.
47. An apparatus for assisting a mobile station in obtaining orbital information of a satellite, the apparatus comprising:
means for calculating, with a processor of a server, a correction between coarse orbit data of the satellite and precise orbit data of the satellite, wherein the precise orbit data is more accurate than the coarse orbit data and the precise orbit data has a shorter validity period than the coarse orbit data;
means for transforming, with the processor of the server, the corrected spatial components from a first coordinate system representation to a second coordinate system selected such that changes in the second coordinate system of the correction are substantially smooth in time, wherein the correction further comprises a difference between the position of the satellite calculated from the coarse orbit data and the position of the satellite calculated from the precise orbit data; and
means for transmitting corrections encoded in the second coordinate system from the server to a mobile station to enable the mobile station to estimate more accurate orbit data of the satellite by applying the corrections to coarse orbit data received at the mobile station, wherein the corrections are approximately represented by coefficients of one or more series of mathematical functions.
48. The apparatus of claim 47, further comprising:
means for interpolating the correction in the second coordinate system using the one or more series of mathematical functions having punctured terms to reduce the number of bits necessary to be transmitted to the mobile station.
49. The apparatus of claim 47, wherein the second coordinate system comprises a radial axis parallel to or coincident with a line connecting a reference location and the estimated position of the satellite, and a cross-track axis perpendicular to the radial axis and the direction of satellite motion.
50. The apparatus of claim 47, further comprising:
means to approximate the correction with more coefficients in at least one spatial dimension than in other spatial dimensions.
51. The apparatus of claim 47, further comprising:
means to calculate a clock correction for the satellite.
52. The apparatus of claim 47, further comprising:
means for directing the receiver interface to receive a reference time from a time server; and
means for directing a transmitter interface to transmit the coarse estimate of the reference time over satellite positioning to the mobile station.
53. A mobile station for estimating more accurate orbit information of a satellite, comprising:
a receiver interface to receive input from a location server;
an evaluation unit to compute correction data for coarse orbit data of a satellite based on the input from the location server, wherein the correction comprises a difference between a position of the satellite computed from the coarse orbit data and a position of the satellite computed from fine orbit data, wherein the correction is approximately represented by coefficients of one or more series of mathematical functions, wherein the fine orbit data is more accurate than the coarse orbit data and the fine orbit data has a shorter validity period than the coarse orbit data;
a conversion unit to convert a spatial component of the correction data from a first coordinate system selected to smooth a temporal variation of the correction data to a second coordinate system; and
a reconstruction unit to apply the correction data to the coarse orbit data to estimate more accurate orbit information of the satellite.
54. The mobile station of claim 53, wherein the axes of the first coordinate system comprise radial axes that are parallel to or coincide with a line connecting a reference position and an estimated position of the satellite.
55. The mobile station of claim 53, wherein the reconstruction unit generates substantially corrected orbit data to estimate the position and timing of the satellites.
56. The mobile station of claim 53, wherein the input from the location server comprises one or more coefficients of the one or more series of mathematical functions corresponding to at least one axis of the coordinate system.
57. The mobile station of claim 56, wherein said evaluation unit comprises a logic module to evaluate said one or more series of mathematical functions using said one or more coefficients and an applicability time to obtain said correction data.
58. The mobile station of claim 53, wherein the receiver interface receives the input from the location server via a file transfer from a data store.
59. The mobile station of claim 53, wherein the receiver interface receives the input from the location server by receiving a message transmitted from the location server.
60. The mobile station of claim 53, wherein said correction data represented in said first coordinate system has a higher accuracy in one spatial dimension than in other spatial dimensions.
61. An apparatus for a mobile station to estimate more accurate orbit information of a satellite, comprising:
means for transforming, with a processor, corrections for spatial components of satellite trajectory data from a first coordinate system to a second coordinate system; and
means for applying, with the processor, the transformed correction to coarse orbit data to estimate more accurate orbit information for the satellite, wherein the correction comprises a difference between a position of the satellite calculated from the coarse orbit data and a position of the satellite calculated from precise orbit data, wherein the correction is approximately represented by one or more coefficients of a mathematical function series, wherein the precise orbit data is accurate than the coarse orbit data and the precise orbit data has a shorter validity period than the coarse orbit data.
62. The apparatus of claim 61, further comprising:
means to determine a position and a time base for the satellite based on the correction data.
63. The apparatus of claim 61, wherein the first coordinate system comprises a radial axis parallel to or coincident with a line connecting a reference location and an estimated position of the satellite, and a cross-track axis perpendicular to the radial axis and a direction of satellite motion.
64. The apparatus of claim 61, wherein correction data represented in the first coordinate system has a higher accuracy in one spatial dimension than in other spatial dimensions.
65. The apparatus of claim 61, further comprising:
means to receive one or more coefficients of the series of one or more mathematical functions corresponding to at least one axis of the first coordinate system; and
means to evaluate the one or more mathematical function series using the one or more coefficients and a suitability time.
Applications Claiming Priority (15)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US85797206P | 2006-11-10 | 2006-11-10 | |
US60/857,972 | 2006-11-10 | ||
US88623007P | 2007-01-23 | 2007-01-23 | |
US60/886,230 | 2007-01-23 | ||
US88873807P | 2007-02-07 | 2007-02-07 | |
US60/888,738 | 2007-02-07 | ||
US89649307P | 2007-03-22 | 2007-03-22 | |
US60/896,493 | 2007-03-22 | ||
US91762207P | 2007-05-11 | 2007-05-11 | |
US60/917,622 | 2007-05-11 | ||
US93996407P | 2007-05-24 | 2007-05-24 | |
US60/939,964 | 2007-05-24 | ||
US11/833,962 US8493267B2 (en) | 2006-11-10 | 2007-08-03 | Method and apparatus for position determination with extended SPS orbit information |
US11/833,962 | 2007-08-03 | ||
PCT/US2007/083501 WO2008100351A2 (en) | 2006-11-10 | 2007-11-02 | Method and apparatus for position determination with extended sps orbit information |
Publications (2)
Publication Number | Publication Date |
---|---|
HK1136353A1 HK1136353A1 (en) | 2010-06-25 |
HK1136353B true HK1136353B (en) | 2014-11-14 |
Family
ID=
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10534088B2 (en) | Method and apparatus for position determination with extended SPS orbit information | |
US9366763B2 (en) | Method and apparatus for position determination with hybrid SPS orbit data | |
JP2010509592A5 (en) | ||
CN102089672B (en) | Method and device for positioning by mixing SPS orbit data | |
HK1136353B (en) | Method and apparatus for position determination with extended sps orbit information | |
RU2445645C2 (en) | Method and apparatus for position determination with extended satellite positioning system orbit information |