Embodiments of the present invention are explained hereinafter with particular reference to the figures. In one embodiment of the present invention, a method for expressing forward in time satellite position prediction information in a way as compact and simple as possible, such that transmission to the receiver via an assistance network is as fast and efficient as possible.
Ephemeris Extension technology is useful for when the GPS receiver is powered back on or is removed from the obstructing structure 190 and placed in an area where Broadcast Ephemeris may be received. Using standard GPS techniques, it may take an extended period of time for the receiver to fix its location after leaving the obstructing structure or being powered back on. The problem is particularly acute in urban canyon environments 180. In
In one embodiment of the present invention, a type of Ephemeris Extension technology achieves long-validity Ephemeris by generating data which can be used in place of a standard Broadcast Ephemeris. The data is a compact expression of satellite orbit prediction information. The data can be used with a standard Broadcast Ephemeris position computation module.
The data used for satellite position prediction can be, for example, transmitted to the client receiver. One method for generating the data is through the use of a host machine, which generates the data in the following exemplary fashion. The host machine first obtains a sequence of predicted satellite positions at particular points in time, for example every 900 seconds. The positions may simply be X, Y, and Z Earth-centered Earth-fixed coordinates at a particular point in time, and can include satellite velocities, accelerations and/or satellite clock error data.
The sequence of predicted satellite positions is then converted into a sequence of curve-fitted orbital elements, at the same 900 second sample period. The curve-fitting can be performed by any of a number of methods, including least-squares analysis. Here the term “orbital element” is intended to refer to a parameter in a mathematical model of a satellite's orbit. Some exemplary orbit models appropriate for use herein are discussed below.
The foregoing elements are used by a Broadcast Ephemeris position computation module in a GPS receiver to calculate the position of a satellite. A selection of the formulae used for calculating the position are shown below:
The formulas (1) through (4) are used to calculate the position of the satellite along the orbit. The formulas (5) and (6) are used to calculate the orientation of the orbit plane in space, and the orbit onto the orbit plane.
The result of these curve-fittings will be a series of values with respect to time for each orbital element. For any given time will t, an accurate estimate of the satellite's position can be obtained using the orbital elements that result from the curve fit centered at the point toe=t and the equations shown above. The accuracy of the estimate will degrade when the t−toe difference increases.
A second step can then be taken, as shown in
Thus a second curve-fitting step takes place through polynomial estimators 208 and 210, which are preferably software code modules embedded in a storage device, but which may alternately be part of the Orbital Elements Estimation Engine 202 or application specific integrated circuits or the like. A polynomial estimation preferably takes place for each element.
Each polynomial estimate is a function representing the value of an orbital parameter over time, and may be a constant (one parameter or coefficient), a first order polynomial (two parameters or coefficients), a second order polynomial (three parameters or coefficients) or a higher-order polynomial as needed. The order of the polynomial can be different for each of the orbital elements, and can be adjusted for a given orbital element to achieve a predetermined level of accuracy degradation and also to reflect the quality of the satellite position prediction over time. Additionally, the resolution of each polynomial coefficient is also adjusted to minimize further the size of the prediction data. This will successfully complete the polynomial estimator as shown in
The coefficients of this second curve fit are stored in a prediction file and sent to a GPS client. The word “file” here is used in its broadest sense to mean a sequence of data or related sequences of data. The important feature of the file is that it contains the information that should be transmitted to a GNSS receiver at one time or over intervals that, when taken together, are short compared to the validity of the data itself. The receiver can use the parameters in the file to reconstruct a function of each orbital element in the ephemeris equations with time, wherein each of the functions has a polynomial form. The particular value of each orbital element can be calculated with an estimate of time, which may be obtained from a local clock source, an assistance network, or demodulation of the GPS time of the week, for example. Because of the relatively smooth variation of the modeled orbital elements, small errors in the initial estimate of GPS time are not likely to cause large variations in the predicted orbital elements.
The actual reconstruction of ephemeris data can proceed as follows. If the data is encrypted the data is first decrypted. Two exemplary ways are described in which embodiments of the present invention handle compressed data, if the data has in fact been compressed. In one embodiment, the compressed file is decompressed and stored in a decompressed format in non-volatile memory. Alternatively, the file may be stored in compressed format, and decompressed on the fly, and possibly only partially, to reduce the amount of electronic memory necessary to perform the calculations.
If the receiver requires ephemeris information and is not able to demodulate this information from satellite signals, the client can provide an approximate GPS time to a decompaction module. The decompaction module uses the data transmitted from the host computer, to generate a Synthetic Broadcast Ephemeris, which can be used to compute an X, Y, Z position for the target satellite at time t. The decompaction module accomplishes this task by recomputing each orbit element with the input time used as the toe of the Synthetic Broadcast Ephemeris, and as the input model for each orbital element. The result is a Synthetic Broadcast Ephemeris which can be used by a Broadcast Ephemeris computation model present in standard GPS receivers.
Embodiments of the invention are extendable to include more stages of modeling, resulting in greater data compaction. In
Orbital Estimation Engine 402 is again provided with a series of satellite position predictions 400. The Orbital Estimation Engine 402 performs a curve-fit for each element at a specific point in time toe, using a method similar to that described in relation to
For this second stage of modeling, there are existing physical models that can be used to describe variations in each of the orbital elements. As an illustration, Equations (7)-(10) below model the contributions from moon and sun attraction to the variations of the Longitude Ascending node Ω, and the argument of perigee ω:
Ωmoon=−0.00338 cos(i)/n (7)
Ωsun=−0.00154·cos(i)/n (8)
ωmoon=0.00169·(4−5·sin2(i))/n (9)
ωsun=0.00077(4−5·sin2(i))/n (10)
Similarly, equations (11) and (12) below are equations modeling the contributions for the same elements due to the main term of the earth gravity tesseral elements.
ΩJ
ωJ2=0.75nJ2(REa)2(4−5 sin2(i))(1−e2)−2 (12)
Equations (13)-(15) below model the variation in semi-major axis, periodicity of revolution, and velocity per revolution, due to the atmospheric drag.
Since these equations model actual physical phenomena, they are generally better models for the variation of orbital elements than polynomial functions, which are not intended to carry within the functions themselves information regarding these phenomena. It is thus possible through physical modeling to produce more accurate models using fewer parameters and having a smaller file size, since the information required to accurately model an orbit is contained within the mathematical operations of the equation itself. These operations are, in preferred embodiments of the invention, not transmitted to the GNSS receiver, but rather known by (preprogrammed into or accessible in memory to) the decompaction module.
The embodiments of the present invention are particularly useful when used in a GNSS receiver that is capable of intermittent demodulation of navigation data including Broadcast Ephemeris. If a decompaction module of a GNSS receiver is in possession of a prediction file according to one of the embodiments of the present invention which transmits polynomial or similar functional coefficients, and the GNSS receiver is further able to demodulate Broadcast Ephemeris or other broadcast satellite position prediction data, the newly received broadcast satellite position prediction data can be used to update the prediction file. This is generally done by replacing the constant coefficients in the prediction file with the newly received broadcast orbital elements, since the model variation in orbital elements is less likely to change over the long-term. Thus, the GNSS receiver can refresh its ability to use long-term and accurate satellite position prediction data without being in contact with the host machine, but rather by receiving normal Broadcast Ephemeris data.
The size of Broadcast Ephemeris used to predict the position of GPS satellites over a seven day period is generally several hundred thousand bytes. Embodiments of the invention, however, effect a large reduction in data size over that time interval to less than five kilobytes, or approximately three kilobytes in the preferred embodiments discussed above by virtue of the variation of elements and polynomial modeling methods applied. By representing prediction data in one of the formats previously described it is possible to achieve a ratio of hours of valid full ephemeris (all valid satellites) to kilobyte of greater than 50 to 1, or about 56 to 1, more generally of between 50 and 60 to 1, depending on the file header size and choice. This is important particularly when the data is being transmitted by a wireless network. The advantage of the lower data size will be more apparent if the transmission method has a relatively low throughput per unit time.
To reduce further the prediction file size, an alternate embodiment of the invention is possible. Specifically, the model for the osculating trajectory can be seen as a ephemeris with harmonic terms forced to zero, (i.e. almanac model) which also have tendency to have a little bit more chaotic shape, and less amenable to an accurate polynomial approximation. Table 2 shows the correspondence between the Broadcast Ephemeris elements and the almanac orbital elements.
The net result is a relatively good prediction around the toe, but with a faster degradation when the (t−toe) difference becomes larger than, say, +/−½ hour. There is with this particular embodiment a need to request a refresh of the Synthetic Broadcast Ephemeris more often than the normal usability period of a Broadcast Ephemeris (4 hours), but this operation is local to the GPS client. Otherwise, the Synthetic Broadcast Ephemeris can be used in a satellite prediction algorithm with no changes.
The preferred embodiments have several advantages over the previous art. These advantages include, for example, a very small prediction file size, for example less than five kilobytes or about 3 kilobytes (2.5-3.5 kilobytes) for one week's worth of full prediction data in the preferred embodiments of the invention. The process of curve fitting and introducing a physical model results in the prediction having fewer parameters. Consequently, the compaction method is very efficient, and results in a small amount of data transmitted to the GNSS receiver. The prediction file can be stored in the GNSS client (non volatile memory), instead of the host processor (e.g. cell phone processor), as was typical for the prior art. Furthermore, the preferred embodiments are easy to implement on the GNSS client side. The decompaction function can create a satellite prediction model that is the same as a standard GNSS ephemeris model, which can be used in place of the broadcast model, using the standard Broadcast Ephemeris position computation module, which is software that uses Broadcast Ephemeris to compute satellite positions or the receiver position, and which is a component of standard GNSS receivers.
The decompaction method is very simple as all orbit elements can be expressed as a polynomial approximations or functions of similar simplicity. The simple decompaction algorithm can be implemented in the GPS client, reducing the impact and dependency on a host processor.
The form of the prediction of the preferred embodiments is also very suitable for “prediction refresh”. If a newer Broadcast Ephemeris can be demodulated from a satellite at a later date than the date of the prediction, The current value of the orbit parameters can be used to “reset the offset” of the prediction. The variation of the orbital element is still obtained from the prediction, but from the point where the Broadcast Ephemeris provided a more precise orbital element.
The preferred embodiments also provide the potential for greater compaction. The compaction method, based on several stages of physical modeling, can be extended to integrate physical models for variation of elements (e.g., in three or four stages), leading to an even more compact set of curve fit parameters.
Receiver 500 preferably employs a variation of elements satellite position prediction method as described herein. RF and DSP front end 502 receives and processes a prediction file, which as implied in
The satellite position prediction finally available to the decompaction software 506 depends on several factors, including the satellite prediction accuracy, the curve fit done on the satellite position time sequence, and on the quality and the loss experienced during the orbital elements compaction process. Regardless of the origin of this prediction error, it needs to be communicated to the navigation software in the mobile, to appropriately deweight the influence of the measurements attached to a particular satellite versus the others.
After decompaction, the majority of systems will expect to receive the prediction in the format specified by the ICD-GPS200 standard (Revision D, IRN-200D-001 Mar. 7, 2006) which is hereby incorporated by reference. Decompaction software 506 thus expands the prediction file into data useful for estimating the position of a satellite and translates data into a format specified in the ICD-GPS200 standard, hereby incorporated by reference. The decompaction software 506 preferably uses the standard GPS assistance mechanism to convey the ICD-GPS200-coded information to the navigation software 510.
There is one field in the ICD-GPS200 format, the URA (User Range Accuracy), that conveys as an index the “along line of sight” measurement error. The embodiment as described in relation to
The embodiment of
The foregoing description of preferred embodiments of the invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed, and modifications and variations are possible in light of the above teachings or may be acquired from practice of the invention.
The embodiments (which can be practiced separately or in combination) were chosen and described in order to explain the principles of the invention and as practical application to enable one skilled in the art to make and use the invention in various embodiments and with various modifications suited to the particular use contemplated. It is intended that the scope of the invention be defined by the claims appended hereto and their equivalents.
This application claims priority from U.S. provisional application 60/815,838, filed Jun. 23, 2006, the contents of which are incorporated by reference in their entirety including the specification, drawings and claims.
Number | Date | Country | |
---|---|---|---|
60815838 | Jun 2006 | US |