Publication number | US20020065587 A1 |

Publication type | Application |

Application number | US 09/727,371 |

Publication date | May 30, 2002 |

Filing date | Nov 30, 2000 |

Priority date | Nov 30, 2000 |

Also published as | US6424890 |

Publication number | 09727371, 727371, US 2002/0065587 A1, US 2002/065587 A1, US 20020065587 A1, US 20020065587A1, US 2002065587 A1, US 2002065587A1, US-A1-20020065587, US-A1-2002065587, US2002/0065587A1, US2002/065587A1, US20020065587 A1, US20020065587A1, US2002065587 A1, US2002065587A1 |

Inventors | Paula Syrjärinne, Robert Piché |

Original Assignee | Syrjaerinne Paula, PICHé ROBERT |

Export Citation | BiBTeX, EndNote, RefMan |

Referenced by (8), Classifications (5), Legal Events (8) | |

External Links: USPTO, USPTO Assignment, Espacenet | |

US 20020065587 A1

Abstract

A method and corresponding apparatus and system for determining the position of a satellite at any instant of time between two sampling instants, based on information in at least one ephemeris message provided by the satellite, the information allowing the computation of the satellite positions at the two sampling instants. The method includes the steps of: computing the satellite positions at two sampling instants using parameters provided in one or more ephemeris messages with suitable times of ephemeris; and for each of the three dimensions of motion, constructing a polynomial of at least third degree by choosing the coefficients of the polynomial so that it interpolates the satellite position at each of the two sampling instants. Typically, the method also calls for computing the satellite velocities at each of the sampling instants, and choosing the coefficients of the polynomial for each of the three dimensions of motion so as to provide a polynomial that not only interpolates the satellite position at the two sampling instants, but has a first derivative that interpolates the satellite velocity at the two sampling instants. The polynomial and its derivative can then be evaluated at any desired time between the sampling instants to determine the spacecraft position and velocity, respectively, at the desired time. The method also provides for determining at least a fifth degree polynomial by using values of the spacecraft acceleration, at each of the sampling instants, calculated from the ephemeris information. The polynomial is typically a Hermite interpolating polynomial.

Claims(26)

a) setting the first sampling instant;

b) computing the satellite position at the first sampling instant using parameters provided in a navigation message with a suitable time of validity;

c) setting a next sampling instant later than the first sampling instant;

d) computing the satellite position at the second sampling instant again using parameters provided in a navigation message with a suitable time of validity; and

e) for each of the three dimensions of motion, constructing a polynomial of at least third degree by choosing the coefficients of the polynomial so that the polynomial interpolates the satellite position at each of the sampling instants.

a) computing the satellites velocities at each of the sampling instants based on the same parameters as were used in computing the satellite positions at the sampling instant; and

b) choosing the coefficients of the polynomial for each of the three dimensions of motion so as to provide a polynomial that not only interpolates the satellite position at each of the sampling instants, but is such that its first derivative interpolates the satellite velocity at each of the sampling instants.

a) calculating the satellite acceleration at each of the sampling instants based on the same parameters as were used in computing the satellite positions at the sampling instant; and

b) choosing the coefficients of the polynomial for each of the three dimensions of motion so as to provide a polynomial corresponding to the two sampling instants that interpolates the satellite position at the two sampling instants, and further is such that its first derivative interpolates the satellite velocity at the two sampling instants and its second derivative interpolates the satellite acceleration at the two sampling instants.

a) means for setting the first sampling instant;

b) means for computing the satellite position at the first sampling instant using parameters provided in a navigation message with a suitable time of validity;

c) means for setting a next sampling instant later than the first sampling instant;

d) means for computing the satellite position at the second sampling instant again using parameters provided in a navigation message with a suitable time of validity; and

e) means, for each of the three dimensions of motion, for constructing a polynomial of at least third degree by choosing the coefficients of the polynomial so that the polynomial interpolates the satellite position at each of the sampling instants.

a) means for computing the satellites velocities at each of the sampling instants based on the same parameters as were used in computing the satellite positions at the sampling instant; and

b) means for choosing the coefficients of the polynomial for each of the three dimensions of motion so as to provide a polynomial that not only interpolates the satellite position at each of the sampling instants, but is such that its first derivative interpolates the satellite velocity at each of the sampling instants.

a) means for calculating the satellite acceleration at each of the sampling instants based on the same parameters as were used in computing the satellite positions at the sampling instant; and

b) means for choosing the coefficients of the polynomial for each of the three dimensions of motion so as to provide a polynomial corresponding to the two sampling instants that interpolates the satellite position at the two sampling instants, and further is such that its first derivative interpolates the satellite velocity at the two sampling instants and its second derivative interpolates the satellite acceleration at the two sampling instants.

a) the satellite, for providing the ephemeris message;

b) a receiver, for receiving the ephemeris message;

c) means for setting the first sampling instant;

d) means for computing the satellite position at the first sampling instant using parameters provided in a navigation message with a suitable time of validity;

e) means for setting a next sampling instant later than the first sampling instant;

f) means for computing the satellite position at the second sampling instant again using parameters provided in a navigation message with a suitable time of validity; and

g) means, for each of the three dimensions of motion, for constructing a polynomial of at least third degree by choosing the coefficients of the polynomial so that the polynomial interpolates the satellite position at each of the sampling instants.

a) means for computing the satellites velocities at each of the sampling instants based on the same parameters as were used in computing the satellite positions at the sampling instant; and

b) means for choosing the coefficients of the polynomial for each of the three dimensions of motion so as to provide a polynomial that not only interpolates the satellite position at each of the sampling instants, but is such that its first derivative interpolates the satellite velocity at each of the sampling instants.

c) means for calculating the satellite acceleration at each of the sampling instants based on the same parameters as were use d in computing the satellite positions at the sampling instant; and

d) means for choosing the coefficients of the polynomial for each of the three dimensions of motion so as to provide a polynomial corresponding to the two sampling instants that interpolates the satellite position at the two sampling instants, and further is such that its first derivative interpolates the satellite velocity at the two sampling instants and its second derivative interpolates the satellite acceleration at the two sampling instants.

Description

[0001] The present invention relates to the field of satellite-based positioning, and more particularly to approximating satellite motion.

[0002] Typically, a Global Positioning System (GPS) receiver determines its position based on measuring relative times-of-arrival (TOA) of signals synchronously transmitted from satellites. Such signals include a timestamp indicating when they were transmitted by the satellites. The satellite positions can be calculated as a function of time based on 16 parameters transmitted in each satellite's ephemeris message, six of the parameters being equivalent to so-called Keplerian elements, and the other nine parameters being perturbation corrections to the Keplerian elements. The parameters are all time dependent, and the values provided in an ephemeris message are valid only for approximately four hours from the time of ephemeris, also included in the ephemeris message.

[0003] In a conventional computation of satellite position, the parameters of the ephemeris message of a satellite and current GPS time are substituted into a number of equations so as to solve for the satellite position. Usually, Earth-centered Earth-fixed (ECEF) coordinates are used. Often, in addition to the position of each satellite, the velocity of each satellite is also used in determining the GPS receiver position and/or the GPS receiver velocity. One way to calculate the satellite velocity is to form the derivatives of the equations used to determine the satellite position.

[0004] The conventional computation of satellite position and velocity based on the ephemeris parameters is computationally burdensome. Nearly 20 equations must be solved, involving complicated operations, such as evaluating trigonometric functions and square roots. One of the equations to be solved is transcendental, and so must be solved iteratively. Often the ephemeris data from several satellites, usually from 4 to 12 satellites, are used (simultaneously) to triangulate to determine the GPS receiver position. In some GPS receiver applications, it is necessary to compute the positions and velocities of a number of satellites repeatedly, as often as once every second; even after solving the nearly 20 equations for a satellite position and velocity at one time, for each additional time at which the satellite position is to be determined, the nearly 20 equations must be solved again. With current processing capability, such computations of the satellite positions and velocities places a significant load on a typical processor of a GPS receiver.

[0005] What is needed is a way to solve for a satellite position and velocity that is sufficiently accurate for GPS applications, and yet reduces the computational burden compared to that of the conventional computation of satellite position and velocity.

[0006] Accordingly, the present invention provides, a method and corresponding apparatus and system for determining the position of a satellite at any instant of time between two sampling instants, based on information in at least one ephemeris message, or other suitable navigation message originating from the satellite, provided by the satellite, the information allowing the computation of the satellite positions at the two sampling instants, the method including the steps of: setting the first sampling instant; computing the satellite position at the first sampling instant using parameters provided in an ephemeris message, or suitable other navigation message originating from the satellite, with a suitable time of ephemeris or other time reference indicating a time of validity of the message; setting a next sampling instant later than the first sampling instant; computing the satellite position at the second sampling instant again using parameters provided in an ephemeris message, or other suitable navigation message originating from the satellite, with a suitable time of ephemeris or other time reference indicating a time of validity of the message; and for each of the three dimensions of motion, constructing a polynomial of at least third degree by choosing the coefficients of the polynomial so that the polynomial interpolates the satellite position at each of the sampling instants.

[0007] In a further aspect of the invention, the method also includes the steps of: computing the satellites velocities at each of the sampling instants based on the same parameters as were used in computing the satellite positions at the sampling instant; and choosing the coefficients of the polynomial for each of the three dimensions of motion so as to provide a polynomial that not only interpolates the satellite position at each of the sampling instants, but is such that its first derivative interpolates the satellite velocity at each of the sampling instants.

[0008] In another, further aspect of the invention, the polynomial is a Hermite interpolating polynomial.

[0009] According to the invention, to obtain an approximate spacecraft position at a desired instant of time between the two sampling instants, the polynomial so determined is evaluated at the desired instant of time.

[0010] Further according to the invention, the derivative of the polynomial is evaluated at an instant of time between the two sampling instants so as to determine the spacecraft velocity at the instant of time.

[0011] In a still further aspect of the invention, the polynomial is of at least fifth degree, and the method of the invention includes the further steps of: calculating the satellite acceleration at each of the sampling instants based on the same parameters as were used in computing the satellite positions at the sampling instant; and choosing the coefficients of the polynomial for each of the three dimensions of motion so as to provide a polynomial corresponding to the two sampling instants that interpolates the satellite position at the two sampling instants, and further is such that its first derivative interpolates the satellite velocity at the two sampling instants and its second derivative interpolates the satellite acceleration at the two sampling instants. In an application according to this further aspect of the invention, the second derivative of the polynomial is evaluated at an instant of time between the two sampling instants so as to determine the spacecraft acceleration at the instant of time.

[0012] The above and other objects, features and advantages of the invention will become apparent from a consideration of the subsequent detailed description presented in connection with accompanying drawings, in which:

[0013]FIG. 1 is a set of curves illustrative of curves that are the solutions to the equations used in a conventional calculation of a satellite position and velocity (in Earth-centered, Earth-fixed coordinates), and are representative of the curves to be interpolated according to the present invention; and

[0014]FIG. 2 is a flowchart indicating the method of interpolating between points on a curve (i.e. at different times) for spacecraft position or velocity, so as to provide values for spacecraft position and velocity between the interpolated points without having to perform a conventional ephemeris calculation.

[0015] A rigorous computation of a satellite position at a particular time (i.e. according to a conventional ephemeris calculation) is, for many applications including many global positioning system (GPS) receiver applications, unnecessary since the orbits trace out smooth curves of simple shape, as indicated in FIG. 1, which shows typical curves for the position of a satellite, in terms of x, y and z Earth-centered Earth-fixed coordinates labeled s_{1}, s_{2}, and s_{3}, and typical corresponding curves for the satellite velocity, labeled v_{1}, v_{2}, and v_{3}. Because the curves are smooth, satellite positions or velocities between points (called here sample points) on a curve representing a satellite position or velocity on orbit are advantageously approximated by interpolation. The time interval (sampling interval) between sample points is determined for a particular application so as to provide a tradeoff between accuracy and computational burden acceptable for the application. Thus, the position and velocity of a satellite are determined at each of the sample points, separated by the predetermined orbit interval (sampling interval), using a conventional ephemeris calculation for the period of validity of the orbit parameters provided by an ephemeris message (or, in other embodiments besides the best mode, any other suitable navigation message originating from the satellite), and the position and velocity of the satellite at intermediate points (i.e. at intermediate times) are determined using polynomial interpolation, a polynomial being determined to give spacecraft position at intermediate points by fitting the position and velocity data at the sampling points, and the position polynomial then differentiated to provide another interpolation polynomial, the velocity polynomial, to fit the spacecraft velocity on orbit.

[0016] In the preferred embodiment of the present invention, each of the three dimensions of a satellite orbit is calculated separately, allowing the use of one-dimensional curve-fitting techniques. However, care must be taken in the way that the interpolation is carried out, because for many applications, including many GPS receiver applications, the allowed relative error is small. For example, in two hours a satellite moves nearly 30 thousand kilometers, but even an error of one meter in the satellite position causes a significant error in the navigation solution, i.e. in determining the position of the GPS receiver.

[0017] In fitting interpolating polynomials to curves representing satellite orbits, it is preferable to use polynomials of rather low degree, typically less than 5^{th }degree. Polynomials of high degree introduce unwanted oscillations between sampled orbital points, and so are not usable. On the other hand, to keep the relative error sufficiently small, a low degree polynomial is sufficiently accurate only for a short length of orbit. Therefore, according to the present invention, an orbit is represented by a piecewise interpolation polynomial using a low degree polynomial for each piece of orbit.

[0018] The requirements for an orbit interpolation method include continuity, low computational complexity, and sufficient precision. The requirement of continuity prevents jumpy (discontinuous) satellite position approximations, which would cause navigation solutions to be correspondingly jumpy. The requirement of precision guarantees that the interpolating curve is a close fit to the orbit calculated from ephemeris; an interpolation error of at most approximately +/−10 cm in each dimension is acceptable for typical GPS applications.

[0019] More precise polynomial fits are achieved if not only satellite position values at the sampling points are used, but also first and possibly second derivatives of the satellite position at the sampling points, i.e. velocities and accelerations. One method where derivatives (with respect to time) at sampling points are used is known as Hermite interpolation. See, e.g. D. Kincaid, D. and W. Cheney, Numerical Analysis, Second Edition. Pacific Grove, Calif., available from Brooks/Cole Publishing Company, copyright 1996, pp. 363-372. According to the present invention, a piecewise Hermite interpolating polynomial, using a low-degree polynomial, is used to fit the sample values (satellite coordinates).

[0020] For satellite orbit approximations, there are two very suitable Hermite polynomial interpolation methods. In the first method, a cubic (of degree three) polynomial is fitted between two consecutive sampling points based on the satellite position and velocity determined by plugging the ephemeris parameters into a conventional ephemeris computation at each sample point. The second alternative is similar, but the polynomial used is of 5^{th }degree, i.e. a quintic polynomial, and in addition to fitting the polynomial based on position and velocity of the satellite at each sample point, acceleration of the satellite at each sample point is also used. The satellite acceleration is also computed using a conventional ephemeris computation (by differentiating the equations used to solve for velocity). The quintic method is computationally more burdensome, but also highly precise. The cubic method, however, may be more useful for many applications, because of the precision it provides for the computational burden it imposes.

[0021] As mentioned above, according to the present invention, the problem of fitting a polynomial to satellite position data is decomposed from a three-dimensional problem to three one-dimensional problems. In the preferred embodiment, the three-dimensional problem is decomposed into three one-dimensional problems by projecting the three-dimensional motion onto three orthogonal planes, corresponding to three basis vectors, an x basis vector, a y basis vector, and a z basis vector, the three basis vectors spanning an Earth-centered Earth-fixed (ECEF) coordinate system.

[0022] Detail of Method Using Only Position and Velocity of a Satellite (Cubic Hermite Interpolation)

[0023] According to the present invention, cubic Hermite interpolation, based on computed satellite positions and velocities, is used to determine points on a satellite orbit between sampling points, when a tradeoff between high precision and computational burden is advantageous (such as in many GPS applications). Such a cubic Hermite interpolation is performed as follows.

[0024] a) Set the sampling interval d (e.g. three minutes)

[0025] b) Set the first sampling instant t_{0 }and compute the satellite position so and velocity v_{0 }at the sampling instant to using a conventional ephemeris calculation (using the parameters provided in an ephemeris message with a suitable time of ephemeris).

[0026] c) Set the next sampling instant one sampling interval away from t_{0}, i.e. at t_{1}=t_{0}+d.

[0027] d) Calculate the satellite position s_{1 }and velocity v_{1 }at time t=t_{1 }(again using a conventional ephemeris calculation).

[0028] e) For each of the three dimensions of motion, indicated by the index i=1, . . . , 3, construct a cubic polynomial p_{i}(t) satisfying the Hermite interpolation conditions, i.e. construct a cubic polynomial,

*p* _{i}(*t*)=*c* _{0i} *+c* _{1i} *x* _{i} *+c* _{2i} *x* _{i} ^{2} *x* _{i} ^{3 }

[0029] for each dimension i, and choose the coefficients c_{0i}, c_{1i}, c_{2i}, and c_{3i }such that the Hermite interpolation conditions,

*p* _{i}(*t* _{0})=*s* _{0i} *, p* _{i}′(*t* _{0})=*v* _{0i }and *p* _{i}(*t* _{1})=*s* _{1i} *, p* _{i}′(*t* _{1})=*v* _{1i},

[0030] are satisfied.

[0031] f) While t≦t_{1}, use the polynomials p_{i}(t) and their first derivatives (with respect to time) p_{1}′(t), to compute the satellite position and velocity, respectively.

[0032] g) When t>t_{1}, set t_{0}=t_{1}, s_{0}=s_{1}, v_{0}=v_{1}, and return to step c).

[0033] Detail of Method Using Position, Velocity, and Acceleration of a Satellite (Quintic Hermite Interpolation)

[0034] According to the present invention, quintic Hermite interpolation, based on computed satellite positions, velocities, and accelerations, is used to determine the position and velocity of a satellite in between sample points when high precision is needed and computational burden is a lesser consideration. Such a quintic Hermite interpolation is performed in the same way as explained above for a cubic Hermite interpolation, except that at each of the two sampling instants t_{0 }and t_{1}=t_{0}+d, not only are the position s_{0i}, s_{1i }and velocity v_{0i}, v_{1i }computed using the ephemeris message parameters, but also the acceleration α_{0i}, α_{1i }for each dimension i, and instead of a cubic Hermite interpolating polynomial, a quintic Hermite interpolating polynomial is used. Thus, according to the present invention, in applications where greater precision is required than can be provided by using a piecewise cubic Hermite interpolating polynomial, a piecewise quintic Hermite interpolation polynomial is used according to the following procedure,

[0035] a) Set the sampling interval d (e.g. three minutes)

[0036] b) Set the first sampling instant t_{0 }and compute the satellite position s_{0}, velocity v_{0}, and acceleration α_{0 }at the sampling instant t_{0 }using a conventional ephemeris calculation (using the parameters provided in an ephemeris message with a suitable time of ephemeris).

[0037] c) Set the next sampling instant one sampling interval away from t_{0}, i.e. at t_{1}=t_{0}+d.

[0038] d) Calculate the satellite position s_{1}, velocity v_{1}, and acceleration α_{1 }at time t=t_{1 }(again using a conventional ephemeris calculation).

[0039] e) For each of the three dimensions of motion, indicated by the index i=1, . . . , 3, construct a quintic polynomial p_{i}(t) satisfying the Hermite interpolation conditions, i.e. construct a quintic polynomial,

*p* _{i}(*t*)=*c* _{0i} *+c* _{1i} *x* _{i} *+c* _{2i} *x* _{i} ^{2} *+c* _{3i} *x* _{i} ^{3} *+c* _{4i} *x* _{i} ^{4} *+c* _{5i} *x* _{i} ^{5 }

[0040] for each dimension i, and choose the coefficients c_{0i}, c_{1i}, c_{2i}, c_{3i}, c_{4i }and c_{5i }such that the Hermite interpolation conditions.

*p* _{i}(*t* _{0})=*s* _{0i} *, p* _{i}′(*t* _{0})=*v* _{0i} *, p* _{i}″(*t* _{0})=α_{0i }and *p* _{i}(*t* _{1})=*s* _{1i} *, p* _{i}′(*t* _{1})=*v* _{1i} *, p* _{i}″(*t* _{1})=α_{1i }

[0041] are satisfied.

[0042] f) While t≦t_{1}, use the polynomials p_{i}(t), their first derivatives p_{i}′(t), and their second derivatives p_{i}″(t) to compute the satellite position, velocity, and acceleration, respectively.

[0043] g) When t>t_{1}, set t_{0}=t_{1}, s_{0}=s_{1}, v_{0}=v_{1}, and α_{0}=α_{1}, and then return to step c).

[0044] The Method of the Invention in General

[0045] Referring now to FIG. 2, a flowchart is shown of the method of the invention at a level of generality sufficient to comprehend using either a cubic Hermite interpolating polynomial, or a quintic Hermite interpolating polynomial.

[0046] Scope of the Invention

[0047] It is to be understood that the above-described arrangements are only illustrative of the application of the principles of the present invention. In particular, some of the computation required by an apparatus, such as a GPS receiver, according to the present invention can be performed outside of the apparatus. For example, a GPS receiver according to the present invention can communicate data needed by the method of the invention to a network connected to computing facilities that would determine the satellite position and velocity at the sampling points and possibly also determine the interpolating polynomials according to the invention, and communicate the results through the network back to the GPS receiver (via a wireless transmission). In addition, although the invention in the best mode has been described as relying on receiving an ephemeris message from the satellite whose motion is being determined, the present invention is intended to comprehend using other possible communications from a satellite, besides a standard ephemeris message, so long as the communication contains information sufficient to deduce at least the spacecraft position at the sample points. Numerous other modifications and alternative arrangements may be devised by those skilled in the art without departing from the spirit and scope of the present invention, and the appended claims are intended to cover such modifications and arrangements.

Referenced by

Citing Patent | Filing date | Publication date | Applicant | Title |
---|---|---|---|---|

US7333109 | Dec 4, 2002 | Feb 19, 2008 | The Boeing Company | System, method and computer program product for modeling at least one section of a curve |

US7774453 * | Jan 31, 2001 | Aug 10, 2010 | International Business Machines Corporation | System and method for handling location information |

US8538682 * | Apr 24, 2009 | Sep 17, 2013 | Qualcomm Incorporated | Systems and methods for satellite navigation using locally generated ephemeris data |

US8560233 | Apr 28, 2004 | Oct 15, 2013 | Nxp B.V. | Method of determining a GPS position fix and a GPS receiver for the same |

US20020143930 * | Jan 31, 2001 | Oct 3, 2002 | International Business Machines Corporation | System and method for handling location information |

US20040109001 * | Dec 4, 2002 | Jun 10, 2004 | The Boeing Company | System, method and computer program product for modeling at least one section of a curve |

US20060224317 * | Apr 28, 2004 | Oct 5, 2006 | Koninklijke Philips Electronics N.V. | Method of determining a gps position fix and a gps receiver for the same |

CN102354218A * | Jun 24, 2011 | Feb 15, 2012 | 哈尔滨工业大学 | Sampling control method for relative motion of spacecrafts |

Classifications

U.S. Classification | 701/13, 701/4 |

International Classification | G05D1/08 |

Cooperative Classification | G05D1/0883 |

European Classification | G05D1/08D |

Legal Events

Date | Code | Event | Description |
---|---|---|---|

Mar 5, 2001 | AS | Assignment | |

Mar 26, 2001 | AS | Assignment | |

Oct 29, 2002 | CC | Certificate of correction | |

Dec 30, 2005 | FPAY | Fee payment | Year of fee payment: 4 |

Apr 23, 2008 | AS | Assignment | Owner name: NOKIA SIEMENS NETWORKS OY, FINLAND Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:NOKIA CORPORATION;REEL/FRAME:020837/0600 Effective date: 20070913 |

Jan 15, 2010 | FPAY | Fee payment | Year of fee payment: 8 |

Jan 17, 2014 | FPAY | Fee payment | Year of fee payment: 12 |

Nov 19, 2014 | AS | Assignment | Owner name: NOKIA SOLUTIONS AND NETWORKS OY, FINLAND Free format text: CHANGE OF NAME;ASSIGNOR:NOKIA SIEMENS NETWORKS OY;REEL/FRAME:034294/0603 Effective date: 20130819 |

Rotate