1. Field of the Invention
The present invention relates to satellite navigation receivers.
2. Description of the Prior Art
Mobile phones, tablets, digital cameras, and many other electronic devices now come routinely equipped with GNSS (Global Navigation Satellite System) receivers that provide position fixes for their users. GNSS refers generically to satellite based navigation systems. GNSS may comprise several systems that are currently operational or in development. The United States' Global Positioning System (GPS) is the oldest system and currently the main system. Most of the existing GNSS receivers only support GPS system and are simply called GPS receiver. Russia's Glonass system is the only alternative navigational system in operation with global coverage and of comparable precision. Europe is building its own GALILEO system and so are few other countries, including Japan (QZSS), India (Galan), and China (Beidou).
In the GPS system, thirty-two satellites circling the earth at an altitude of 20,200 km with a 55 degree inclination and a period of 11 hours and 58 minutes. They are spaced in orbit such that a minimum of six satellites are in view at any one time to a user.
Glonass satellites are located in a middle circular orbit at 19,100 km altitude with a 65 degree inclination and a period of 11 hours and 15 minutes. By 2010, Glonass had achieved 100% coverage of Russia's territory and in October 2011, the full orbital constellation of 24 satellites was achieved, enabling full global coverage. Glonass' orbit (higher inclination angle than GPS by about 10 degrees) makes it especially suited for usage in high latitudes (north or south), where getting a GPS signal can be problematic. The constellation operates in three orbital planes, with eight evenly spaced satellites on each. A fully operational constellation with global coverage consists of 24 satellites, while 18 satellites are necessary for covering the territory of Russia.
Each GNSS satellite transmits an accurate time and position signal. GNSS receivers measure the time delay for the signal to reach it, and the apparent receiver-satellite distance is calculated from that. Measurements like this from at least four satellites allow a GNSS receiver to calculate its three-dimensional position, velocity, and system time.
The solution to the receiver position depends on knowing where each of the relevant satellites is in three-dimensional space. The respective positions are reported as parameters belonging to a set of equations that are quite different between GPS and Glonass systems. In conventional GPS systems, the GPS ephemeris includes all the items in Table I. An orbital model that includes most or all of the parameters of Table I is referred to herein as a GPS or GPS-like orbital model. Glonass ephemeris data includes satellite's position and velocity data in Cartesian XYZ PZ-90 coordinate system. In conventional Glonass systems, the Glonass ephemeris includes all the items in Table II.
The PZ-90 coordinate system is similar to the WGS-84 (World Geodetic System) coordinate system, which is used by GPS, Galileo and some other GNSS systems. As of Sep. 17, 2007 the PZ-90 datum had been updated to differ from WGS-84 by less than 40 cm (16 in) in any given direction.
During the period of validity of the ephemeris message, it is possible to compute the near exact position and velocity of a satellite and its clock (time) offset at any one instant in its flight using the complete satellite ephemeris message information downloaded to the navigation receiver. The computed positions of the GPS satellites are very sensitive to small variations of most of these parameters, so it is necessary to fully communicate them during each ephemeris download.
It takes a GNSS navigation receiver a minimum of 12.5 minutes of continuous operation for GPS and 2.5 minutes of continuous operation for Glonass to be able to collect the complete almanac and ephemeris data describing all the orbiting satellites and their trajectories. The signal strength at the receivers must also be good in order to be able to demodulate the navigation data sub-carriers. A lack of time and/or a lack of strong signal can frustrate a user trying to get a quick first position fix.
Currently, Glonass satellites broadcast a new ephemeris every thirty minutes, and the time-of-ephemeris is fifteen minutes in the future at the cutover to the new model. The Glonass ephemeris model is valid only for +/−15 minutes around its reference time, according to the Glonass ICD. During the validity time interval of the ephemeris model, position accuracy of the model is better than a few meters. However, this error grows significantly over time, if the model is used beyond the validity time interval.
To calculate a Glonass satellite's position and velocity information at a time ‘t’, using a Glonass ephemeris model, orbit of the satellite has to be integrated from reference time ‘t0’ of the model up to ‘t’ with a force model that is not described in the broadcast ephemeris format of Table II but is described in the publicized Glonass Interface Control Document (ICD). On the contrary, a GPS ephemeris model's calculation can be computed at anytime independently, or as a snapshot calculation, without the need to integrate from the reference time to the desired time.
The GPS system is the system of use in nearly all existing satellite based positioning receivers. Other systems, including Glonass, are gradually (as they become available for public use) being added into the receivers, in order to improve reliability and positioning accuracy. In general, having access and using signals from more satellites results in better position and velocity accuracy.
Accurate long term satellite models for satellites include satellites of different navigation systems, for example GPS satellites and Glonass satellites. An accurate long-term orbital model is derived for a non-GPS satellite that broadcasts native orbital model data specified as valid within a first time period. Initial position and velocity data are determined from the native orbital model data, and orbit integration based on a force model is performed to determine an orbital arc in an earth-centered-earth-fixed frame over a second time period longer than the first time period. Initial estimates of GPS or GPS-like orbit parameters are determined for the non-GPS satellite, and the orbital arc and the initial estimates of the GPS or GPS-like orbit parameters are input to an orbit parameter solver that determines GPS or GPS-like parameters that fit the orbital arc. The orbit parameter solver is used to determine final orbital model parameters in GPS or GPS-like format for the non-GPS satellite. More particularly, forced-based estimates of GPS orbit parameters are estimated based on the initial estimates.
Converting a Glonass satellite ephemeris navigation model into a Unified GPS ephemeris format in many instances improves time to first fix of GNSS receiver and improves tracking sensitivity in weak signal environments as a single observation of the broadcast ephemeris can be used much longer than the time available with the native model. Efficiency is achieved by representing all satellite models in a unified format, preferably the GPS ephemeris format.
Embodiments of the present invention include an electronic device including a GNSS receiver able to collect Glonass ephemeris information from orbiting Glonass satellites and to use that information to build up modified Glonass ephemeris model in the unified format that will be valid and useful for several orders of magnitude longer than the original validity time period of Glonass ephemeris model. Advantages include reducing time to first fix, extending the validity time of Glonass ephemeris, and simplifying the GNSS receiver's software design by enabling it to do all navigation model computation in GPS ephemeris format.
Embodiments of the invention also include non-transitory computer-readable media bearing instructions for performing methods as described above.
These and other objects and advantages of the present invention will no doubt become obvious to those of ordinary skill in the art after having read the following detailed description of the preferred embodiments which are illustrated in the various drawing figures.
Referring now to
The satellite vehicles 102 may belong to different satellite navigations systems, e.g., GPS, Glonass, etc. Navigation Messages transmitted by the SVs 102 will be different depending on the navigation system.
An orbit integration algorithm program 110 is provided to the microcomputer 108. In an exemplary embodiment, for a particular satellite, the orbit integration algorithm program code applies a corresponding force model to project collected ephemeris data out into the future. In an exemplary embodiment, only a single observation of the ephemeris for each SV is used in each of the corresponding SV-projections, e.g., the last good ephemeris demodulated and verified for that SV. Such an approach reduces the computational load and more importantly, reduces the amount of time a receiver must be powered on and collecting ephemeris. Such a single point observation nevertheless provides high quality extended ephemeris information that can be useful 7-10 days into the future.
Referring still to
In an exemplary embodiment, these parameters are computed to best fit a series of satellite X-Y-Z position samples in the ECEF coordinate system. The components of vector X are related to known position components X-Y-Z using conventional non-linear ephemeris equations. In an exemplary embodiment, the non-linear ephemeris equations are then linearized using a finite-order Taylor Series to find linear equations that will relate the Keplerian parameters to each X-Y-Z position. Then a standard Least Squares method is used to solve the Keplerian parameters.
In an exemplary embodiment, the Keplerian Solver program code 115 therefore converts orbital samples in the form of X-Y-Z satellite positions in the ECEF frame into ephemerides. In an exemplary embodiment, the ephemerides it outputs will each be valid for a period of hours, e.g., four hours before its computed time-of-ephemeris (TOE) and four hours after the TOE so that the TOE is centered in the usability region similar to the broadcast TOE
The Keplerian Solver program code 115 can commence operation after only a single observation of the ephemeris has been obtained for each corresponding SV 102. As little as one X-Y-Z position sample per hour is all that is necessary to support the functioning. This means for an eight hour model, no more than nine samples are needed per SV 102.
The orbital models obtained from the results of the Keplerian Solver may be stored in the form of Long-Term Compact Satellite Models (LTCSMs). An updating process 116 may schedule when processing time on the microcomputer 108 should be used to compute new LTCSM's. Such LTCSM processing can be in background while normal position solutions are actively being provided to a user, or as a residual process that continues after the user requests a power shut down. The updating process 116 can also give priority to building models to optimize LTCSM availability at some expected time in the near future.
An LTCSM library 118 is thus built up and maintained to support future navigation solution processing 120. Flash memory can be used as a storage device for the LTCSM library 118. Typically, such LTCSM library 118 will eventually have a functional LTCSM saved for each and every SV in a future constellation of SV's 122 that will present itself in the next several days. Using the LTCSM library, position fixes 124 may be computed without having immediate access to anything more than the pseudoranges from SVs 122. The navigation messages of the SVs need not be demodulatable, and so a high sensitivity mode of operation is therefore also enabled. A fast time-to-first-fix (TTFF) and a higher availability of location determination is an important advantage as the location can be determined long after the broadcast data was demodulated in case the satellite signal can still be tracked but the signal is too weak to allow demodulation of the broadcast ephemeris.
Regarding the LTCSM library 118, typically no one long-term model can be used to describe the satellite orbit or clock for an entire week into the future with sufficient accuracy for position fixing. Therefore, the period of a week into the immediate future may be divided into segments, e.g., three, eight-hour segments for each of seven days with a one hour buffer at the beginning and the end, i.e., twenty-one ten-hour long-term models 33 for every possible GPS satellite.
Referring now to
Further details of an exemplary embodiment of the system of
As described above, the satellite vehicles may belong to different satellite navigations systems, e.g., GPS, Glonass, etc. Navigation Messages transmitted by the SVs 102 will be different depending on the navigation system.
In step 202, a desired validity time of the unified models is broken down into several intervals, each equal to X number of hours, for example 8 hours. Practically, the length of each interval should not be longer than orbital period of the satellite (i.e. about 12 hours).
In one embodiment, for each interval, or for each of multiple successive time periods, orbit integration is performed over the time period. The Keplerian solver is initialized with an initial estimate of the Keplerian orbital model parameters obtained from a preceding time period. Orbit integration data for the time period is input to the Keplerian solver, which is used to obtain Keplerian orbit model parameters for the time period. In this manner, multiple orbital model parameter sets are “chained together” to form an overall orbital model parameter set of extended duration.
In steps 203 and 204, the orbit of the satellite is integrated between start and end time of the interval. End point of an interval is the start point of the next one (if any). The very first interval may be initialized using position and velocity data of the Glonass ephemeris model. The step size of the integration (time interval between orbit integration data points) may be fixed or varying with time, typically in the order of seconds. A larger step size results in faster integration, but produces larger integration errors.
Although the step size of the integration should be selected to be small enough to reduce the integration errors, only a few of the orbit samples are required for deriving the unified ephemeris model. In step 205, a few orbit samples, one sample for every hour or so, are converted into ECEF (WGS-84) coordinate system. These samples are inputs to the Keplerian Solver (KS) in step 206.
The program checks in Step 207 if there are any more models that have to be built to cover the desired use time of a long term satellite model. If so, the program moves to next model in step 208 and then repeats steps 204 to 207, otherwise it ends.
{right arrow over (E)}=[a,e,i
0
,M
0
,Δn,iDot,ω,Ω
0
,{dot over (Ω)},Crs,Crc,Cus,Cuc,Cis,Cic]
T (1)
In step 301, KS parameters are initialized using the Glonass satellite's ephemeris model data. This step is necessary in that KS will only converge and produce a reasonably accurate model, if initial values for states of KS are close enough to their true values. A method to find these initial values using position and velocity data of the reference Glonass ephemeris model is described in the following paragraphs. These states could also be estimated using Keplerian parameters obtained from Glonass non-native data messages, also referred to herein as Glonass Almanac model data.
The Glonass Almanac model for a satellite consists of several parameters that include: time in UTC, correction to GPS time relative to GLONASS time, longitude of the first ascending node of the satellite orbit in PZ-90 coordinate system, time of the first ascending node passage of the satellite, correction to the mean value of orbit inclination angle, correction to the mean value of Draconian period of the satellite, rate of change of Draconian period of the satellite, eccentricity, and argument of perigee. From these parameters, the first nine parameters in equation (1) may be derived using techniques available in various Orbital mechanics textbooks and provided in the Glonass ICD document. The remaining six correction parameters may be set to zero.
In step 302, GPS ephemeris equations are linearized using first order Taylor series method around initial values of KS parameters.
In step 307, the following KS' equation is solved. The KS' equation is formed as following:
{right arrow over (Y)}=
{right arrow over (E)}={right arrow over (E)}
0
+{right arrow over (X)} (2)
where, vector Y consists of satellite's XYZ position data of the integrated orbit in ECEF coordinate system, between time t1 to tn, as shown below:
Matrix H contains partial derivatives of GPS ephemeris equations for calculating position and velocity of satellite in the ECEF coordinate system. These equations are listed below:
t
k
=t−t
oe Time from ephemeris reference epoch
t
k
=t
k+(wkn−wknoe)*604800
M
k
=M
0
nt
k
M
k
=E
k
−e sin Ek
sin vk=√{square root over (1−e2)}sin Ek/(1−e cos Ek)
cos vk=(cos Ek−e)/(1−e cos Ek)
sin Φk=sin vk cos ω+cos vk sin ω
cos Φk=cos vk cos ω−sin vk sin ω
sin 2Φk=2 cos Φk sin Φk
cos 2Φk=cos2Φk−sin2 Φk
δuk=Cus sin 2Φk+Cus cos 2Φk
δrk=Crs sin 2Φk+Crc cos 2Φk
δik=Cis sin 2Φk+Cic cos 2Φk
sin uk=sin Φk cos δuk+cos Φk sin δuk
cos uk=cos Φk cos δuk−cos Φk cos δuk
r
k
=A(1−e cos Ek)+δrk
i
k
=i
0
+δi
k+(IDOT)tk
x′
k
=r
k cos uk x position in orbital plane
y′
k
=r
k sin uk y position in orbital plane
Ωk=Ω0−{dot over (Ω)}toe+({dot over (Ω)}−{dot over (Ω)}e)t
P
xk
=x′
k cos Ωk−y′k cos ik sin Ωk
P
yk
=x′
k sin Ωk+y′k cos ik cos Ωk ECEF coordinates for position
P
zk
=y′
k sin ik
The above non-linear equations are differentiated with respect to each of the 15 ephemeris parameters to form elements of matrix H, as follows:
In equation (2), vector E0 contains initial values for the KS' unknown parameters. These initial values should be reasonably close to true values of the unknowns, otherwise the KS will not converge, even after many iterations. In case of GPS, parameters of the satellite's ephemeris model are used to set the values of the parameters of vector E0. But this is not possible for Glonass, because its ephemeris data is not in GPS format.
In an exemplary embodiment, the initialization of Keplerian Solver for Glonass satellite, step 301, involves the following steps:
{right arrow over (r)}
ECEF=(Px,Py,Pz)GLO Ephemeris
{right arrow over (v)}
ECEF=(Vx,Vy,Vz)GLO Ephemeris (5)
{right arrow over (r)}={right arrow over (r)}
ICRF=(X,Y,Z)
{right arrow over (v)}={right arrow over (v)}
ICRF=({dot over (X)},{dot over (Y)},Ż) (6)
In step 308, differences between orbit integration position samples and equivalent ones from the computed Keplerian unified model are calculated; if the unified model is a good fit for the data, then model is outputted, otherwise step 309 is executed. In this step, states of the KS are re-initialized using their latest values as output at step 307, then steps 307 and 308 are repeated, until the condition of step 308 is satisfied. In practice, usually just one iteration results satisfies the condition. The resulting unified model may then be published (step 310), i.e., made available for use in determining location.
Glonass unified navigation models, derived using the method presented herein, have a much longer validity time (on the order of a few hours or days) than the conventional Glonass ephemeris model (just plus or minus 15 minutes from TOE).
In
For the same satellites and time, position accuracy of Glonass unified ephemeris models is on the order of meters, as shown in
Although the present invention has been described in terms of the presently preferred embodiments, it is to be understood that the disclosure is not to be interpreted as limiting. Various alterations and modifications will no doubt become apparent to those skilled in the art after having read the above disclosure. Accordingly, it is intended that the appended claims be interpreted as covering all alterations and modifications as fall within the scope of the invention.