Abstract:
An improved extended ephemeris navigation receiver includes a fully autonomous satellite navigation receiver for receiving microwave transmissions from orbiting navigation system satellites, and able to demodulate navigation messages that include the ephemerides for those navigation system satellites. The improvements include a force model of the accelerations acting on a particular satellite vehicle, and are exclusive to the receiver. A single observation of the ephemeris for each SV is input and propagated days into the future by integrating each SV&#39;s orbital position with its corresponding force model. The fully autonomous satellite navigation receiver thereafter has available to it extended ephemeris predictions that can be used as substitutes when said navigation messages from the respective SV cannot otherwise be immediately obtained and demodulated.

Description:
BACKGROUND OF THE INVENTION 
       [0001]    1. Field of the Invention 
         [0002]    The present invention relates to navigation receivers, and in particular to receivers that can build their own long-term models of the global positioning system (GPS) satellite orbits and clocks. 
         [0003]    2. Description of the Prior Art 
         [0004]    Satellite navigation receivers, like those found everywhere for the Global Positioning System (GPS), depend on knowing the exact orbital positions of each satellite they are tracking in order to calculate the position of the receiver. Such ephemeris information is only periodically updated and it goes stale rather quickly. 
         [0005]    Mobile phones and digital cameras now come routinely equipped with GPS navigation receivers that provide position fixes for their users and locations for the photographs taken. These embedded GPS navigation receivers are the assisted type (A-GPS) that can download satellite ephemeris and almanac data from network servers, and thus do not have to wait the usual long times otherwise needed to collect the information directly from the satellites themselves. However, network connections are not 100% reliable nor always available, especially for mobile users. Not having the satellite ephemeris and almanac data immediately available on a cold start can mean the time to a first fix can be unacceptably long. 
         [0006]    In the GPS system, at least twenty-four satellites circling the earth at an attitude of 20,200 km are spaced in orbit such that a minimum of six satellites are in view at any one time to a user. Each such satellite transmits an accurate time and position signal. GPS 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 GPS receiver to calculate its three-dimensional position, velocity, and system time. The apparent distance also contains the time offset of the satellite and receiver time offset from the true GPS system time. 
         [0007]    The solution to the receiver position depends on knowing where each of the relevant satellites are in three-dimensional space and the time offset from GPS time of each satellite. The respective positions are reported as parameters belonging to a set of Keplerian equations. In conventional GPS systems, the GPS ephemeris includes all the items in Table I. 
         [0000]    
       
         
               
             
               
               
               
             
           
               
                 TABLE I 
               
             
             
               
                   
               
               
                 GPS Ephemeris Message 
               
             
          
           
               
                   
                 Name 
                 Symbol 
               
               
                   
                   
               
               
                   
                 Reference time of ephemeris 
                 toe 
               
               
                   
                 Square root of semi major axis 
                 {square root over (a)} 
               
               
                   
                 Eccentricity 
                 e 
               
               
                   
                 Inclination angle (at time toe) 
                 i0 
               
               
                   
                 Longitude of ascending node 
                 Ω0 
               
               
                   
                 Argument of perigee (at time toe) 
                 ω 
               
               
                   
                 Mean anomaly (at time toe) 
                 M0 
               
               
                   
                 Rate of change of inclination angle 
                 di/dt 
               
               
                   
                 Rate of change of Longitude of ascending node 
                 {dot over (Ω)} 
               
               
                   
                 Mean motion correction 
                 Δn 
               
               
                   
                 Amplitude of cosine correction to argument of latitude 
                 Cuc 
               
               
                   
                 Amplitude of sine correction to argument of latitude 
                 Cus 
               
               
                   
                 Amplitude of cosine correction to orbital radius 
                 Crc 
               
               
                   
                 Amplitude of sine correction to orbital radius 
                 Crs 
               
               
                   
                 Amplitude of cosine correction to inclination angle 
                 Cic 
               
               
                   
                 Amplitude of sine correction to inclination angle 
                 Cis 
               
               
                   
                   
               
             
          
         
       
     
         [0008]    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 from GPS time at any one instant in its flight using the complete GPS ephemeris message information downloaded to the navigation receiver. This of course presumes the GPS ephemeris message can be downloaded. 
         [0009]    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. But, as described in United States patent application, US 2005/0278116 A1, published Dec. 15, 2005, it has also been observed that the two harmonic corrections to inclination angle, Cic and Cis, are not so critical. eRide, Inc. (San Francisco, Calif.), at least, communicates “compact” satellite models in which one of these two parameters are set to zero and not used in the computation of satellite position. The solution accuracy is not significantly degraded. The second order clock time offset has little impact as well and can be ignored. 
         [0010]    It takes a GPS navigation receiver a minimum of 12.5 minutes of continuous operation to be able to collect the complete almanac and ephemeris describing all the orbiting satellites and their trajectories. There is a lot of data, and the 50-Hz modulation used to transfer this information (navData) is very slow. The signal strength at the receivers must also be good in order to be able to demodulate the navData sub-carriers. So a lack of time and/or a lack of strong signal can frustrate a user trying to get a quick first position fix. 
         [0011]    Conventional receivers solve this problem by storing the almanac data in previous operational sessions. Thereafter, currently collected ephemeris data is compared to the stored almanac data to determine what needs to be updated. So a rather complete and updated almanac is built up and maintained at the receiver itself that is instantly available at future warm starts. Thus, after considering the acquisition time, the time to first fix of a new GPS session is dependent mainly on the time to collect the ephemeris. 
         [0012]    Conventional satellite ephemeris data from network servers goes stale rather quickly, so A-GPS navigation receivers need to connect with their servers at least daily. The typical line-of-sight ranging accuracy degrades over twenty-five meters within four hours after the center time-of-ephemeris (toe) of the normally accepted applicability window. Currently, GPS satellites broadcast a new ephemeris every two hours, and the time-of-ephemeris is one hour in the future at the cutover to the new model. Since the GPS satellites move in twelve hours orbits, using models from a previous session will generally allow position fixes only five hours after the last session. These fixes degrade if the number of visible satellites involved drops to three or less. Given the realities of the ways mobile phones and cameras are used, connecting to the server every day may not be possible or practical. 
         [0013]    Other extended assistance techniques have evolved beyond real-time assisted GPS techniques. Instead of waiting on the actual ephemeris information being received from the satellites flying overhead, a synthetic equivalent is predicted and pre-loaded. Such prediction information, or “extended ephemeris,” is an estimate of a satellite&#39;s future ephemeris that can be good for up to a week. When synthetic assistance is available on a device, the GPS startup times can be significantly reduced compared to real-time assistance techniques, since no server transaction is required. 
         [0014]    Two kinds of extended ephemeris solutions are now conventional, network enabled and fully autonomous. Network enabled solutions require a periodic data download from a prediction server. Fully autonomous solutions do not need network support, they learn and generate their own synthetic assistance from their own satellite observations. 
         [0015]    Fully autonomous solutions have sometimes inconvenient limitations, they can only predict data for the satellites they have actually seen and may require multiple observations that have close time proximity. This means the availability of extended models is dependent on how often the receiver is used and thus requires higher power consumption. With autonomous models, the data derived is usable for up to three days before the accuracy degrades too much. Network enabled solutions provide longer and more accurate predictions, sometimes up to ten days or two weeks for entire constellations. 
         [0016]    Although extended ephemeris solutions have become commercially available, they have remained strictly proprietary to each chipset vendor who implemented the feature. Chipset proprietary network enabled solutions usually compute the prediction data on a server, then periodically download to the portable device. These server-based prediction techniques generally impose substantial weekly data payloads, typically fifty to eighty kilobytes per constellation. For applications where broadband data connectivity may be problematic or too costly, such overhead can be prohibitive. 
         [0017]    What is needed are compact long-term models of the GPS satellite orbits and clocks that can be computed by GPS receiver with limited computing capabilities and little or no network access and do not place special requirements on the time proximity of observed ephemeris in order to generate extended models. 
       SUMMARY OF THE INVENTION 
       [0018]    Briefly, an improved extended-ephemeris navigation receiver has a fully-autonomous satellite navigation receiver for receiving microwave transmissions from orbiting navigation system satellites, and is able to demodulate navigation messages that contain the ephemerides for those navigation system satellites. The improvements include a force model of the accelerations acting on a particular satellite vehicle, and is exclusive to the receiver. The force model also requires a transformation model that allows conversion between earth inertial frame and the earth-centered-earth-fixed coordinate frame so that all forces can be integrated in their intrinsic frame of reference. A single observation of the ephemeris for each SV is input and propagated days into the future by integrating each SV&#39;s orbital position with its corresponding force model. In order to reduce the storage of the propagated data and simplify usage in the receiver processing, the generated orbits are sampled and converted into long term Keplerian ephemeris format similar to the GPS broadcast ephemeris and then stored in non-volatile memory. The fully autonomous satellite navigation receiver thereafter has available to it extended ephemeris predictions that can be used as substitutes when said navigation messages from the respective SV cannot otherwise be immediately obtained and demodulated. 
         [0019]    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. 
     
    
     
       IN THE DRAWINGS 
         [0020]      FIG. 1  is a functional block diagram of a fully autonomous extended ephemeris GPS navigation receiver embodiment of the present invention; 
           [0021]      FIG. 2  is a functional block diagram of a satellite navigation receiver embodiment of the present invention showing the power control that can be applied to various hardware stages in support of long-term compact satellite model (LTCSM) updating; and 
           [0022]      FIG. 3  is a graph representing the times a satellite navigation receiver embodiment of the present invention can be required by a user and how the processing of updates for the LTCSM library can be scheduled. 
       
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
       [0023]      FIG. 1  represents fully autonomous extended ephemeris GPS navigation receiver embodiment of the present invention, and is referred to herein by the general reference numeral  100 . Over time, continually varying constellations of all the orbiting GPS satellite vehicles (SV&#39;s)  102  transmit microwave signals that include their then-up-to-date respective ephemerides. A processor  104  demodulates each of these ephemerides and the almanacs that include them as is possible over days and even weeks. A complete collection  106  of the ephemerides and the almanacs is then available in an on-going basis to a limited-capability microcomputer  108 . 
         [0024]    A GPS Navigation Message transmitted by each SV  102  includes parameters to describe the GPS satellites positions, clock offsets, and other system parameters. The Navigation Message comprises twenty-five data frames that are each divided into five sub-frames of 300-bit sequences transmitted at 50-bits per second. Each sub-frame therefore requires six seconds, each frame thirty seconds, and the entire set of twenty-five frames takes twelve and a half minutes to completely receive. Sub-frames number one, two, and three are reserved for complete orbit and clock descriptions, and other messages about the satellite that is transmitting them. Sub-frames four and five carry the abbreviated orbit and clock data for all the satellites and system data common to all the satellites. The GPS receivers align the data bits, check them for errors with a parity algorithm, separate them into sets representing particular parameters, scale them, convert the bits into numeric formats and specific units. For example, meters, meters squared, semi-circles, radians, seconds, seconds per second, seconds per second per second, and weeks. Each parameter provides the basis needed by the GPS receiver to derive the position and time estimates. Various algorithms needed are specified in Naystar GPS Joint Program Office, Interface Control Document ICD-GPS-200C. 
         [0025]    Ordinarily, the computation of long term compact satellite models (LTSCM) requires high performance computer processors with double-precision mathematics coprocessors. This is because conventional satellite force acceleration models and coordinate transformations must be computed very precisely every few seconds such that integration error does not grow unbounded. The computations must be made for every SV  102  and every 6-12 hour period for at least a week into the future. The kinds of processors used in conventional satellite navigation receivers and smart phones are simply not capable of such performance, and mobile devices are further very intolerant of the high levels of battery power draw that result during such calculations. 
         [0026]    A special orbit integration algorithm program code  110  is provided to the limited-capability microcomputer  108  that applies a corresponding force model  112  to project each of the collected ephemerides out into the future. 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 approach reduces the computational load and more importantly, reduces the amount of time a receiver must be 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. This is because the acceleration forces acting on each SV dominate all the other causes of orbital deviations. The orbital projections are structured for output as Keplerian-based long term compact satellite models (LTCSM&#39;s) for use in the future when the corresponding SV&#39;s are encountered again and no real-time ephemeris demodulation is possible. 
         [0027]    In general, the orbit integration equations for embodiments of the present invention resemble those used to compute long term compact satellite models (LTCSM) on a server. But some equations must be simplified in order to reduce the calculation loads and times when executed on relatively modest, fully autonomous satellite navigation receivers. Additionally, some parameters such as the size of solar panels and weight of each satellite are assumed to be the same for each spacecraft, and this reduces the need to provide external input data that is not available in the normal navigation data. 
         [0028]    A coordinate transformation program code  114  is provided to the limited-capability microcomputer  108 . Two coordinate systems are used in the orbit integration calculations, e.g., (1) International Celestial Reference Frame (ICRF, aka ICRS), and (2) Earth-Centered, Earth-Fixed (ECEF), also known as WGS-84, International Terrestrial Reference Frame (ITRF), and ITRS. The origin in ICRF is placed at the Solar System&#39;s center of gravity (e.g., barycenter), the point where the gravitational forces exerted by all the Solar System bodies cancel. Its axis directions are “space fixed”. The origin in the ECEF system is placed at the center of the mass of the Earth. Its x-axis is the intersection of the mean equator, and the mean prime meridian, and the z-axis is the mean spin axis of the earth between 1900 until 1905, 
         [0029]    The coordinate transformation of ECEF to ICRF, and ECEF to ICRF, comprises four quaternion rotations. Each quaternion has four elements and is very efficient in doing matrix rotation operations, e.g., 
         [0000]    
       
         
           
             
               
                 U 
                  
                 
                   ( 
                   t 
                   ) 
                 
               
               = 
               
                 
                   π 
                   conj 
                 
                 × 
                 
                   
                      
                     
                       ( 
                       θ 
                       ) 
                     
                   
                   
                      
                     t 
                   
                 
                 × 
                 
                   ( 
                   
                     N 
                     × 
                     P 
                   
                   ) 
                 
               
             
             , 
           
         
       
     
       P—Precession; 
     N—Nutation 
       [0000]    
       
         
           
             θ—Earth rotation 
             π—Polar motion; and
 
Superscript “conj” abbreviates the conjugate of the quaternion.
 
           
         
       
     
         [0032]    Four rotation matrices that can be used in embodiments of the present invention are described in detail by, Oliver Montenbruck and Eberhard Gill, in their book:  Satellite Orbits: Models, Method, Applications , first edition 2000, p. 66, ISBN: 978-3-540-67280-7. For transformations from ECEF to ICRF, four quaternion rotations are employed in the coordinate transformation program code  114 , 
         [0000]    
       
         
           
             
               U 
                
               
                 ( 
                 t 
                 ) 
               
             
             = 
             
               
                 
                   ( 
                   
                     N 
                     × 
                     P 
                   
                   ) 
                 
                 conj 
               
               × 
               
                 
                    
                   
                     ( 
                     θ 
                     ) 
                   
                 
                 
                    
                   t 
                 
               
               × 
               
                 
                   
                     ( 
                     π 
                     ) 
                   
                   conj 
                 
                 . 
               
             
           
         
       
     
         [0033]    The Polar motion rotation quaternion is based on Earth Orientation Parameters, so-called EOP. These parameters are predicted by using 10-years forecasts, for example using those provided by the United States Navy at maia.usno.navy.mil/ser7/ser7.dat (IERS BULLETIN—A, Rapid Service/Prediction of Earth Orientation). Improper modeling of the EOP can result in increasingly larger error as the integration time increases. These EOP parameters are sinusoidal in nature but with randomly changing phase and amplitude. Using a value that is wrong by half cycle can lead to an error on the order of 200-meters after 3 days. The contributed observations used in the preparation of the Bulletin are available at www.usno.navy.mil/USNO/earth-orientation/eo-info/general/input-data. The contributed analysis results are based on data from Very Long Baseline Interferometry (VLBI), Satellite Laser Ranging (SLR), the Global Positioning System (GPS) satellites, Lunar Laser Ranging (LLR), and meteorological predictions of variations in Atmospheric Angular Momentum (AAM). Thus, the accuracy of the self ephemeris may degrade slowly after the expected usability range of the EOP model. In this case, the user can request to re-flash the receiver software, or input a new set of EOP parameter via special input command. The forward EOP prediction model is good for more than ten years and has a slowly degrading accuracy beyond the ten years. 
         [0034]    The structure and coefficients of the x and y coefficients of the currently published EOP transformation are as follows: 
         [0000]        x= 0.0972+0.1154 cos  A+ 0.0380 sin  A− 0.0411 cos  C+ 0.0729 sin  C;    
         [0000]        y= 0.3418+0.0313 cos  A− 0.1043 sin  A+ 0.0729 cos  C+ 0.0411 sin  C;    
         [0000]        UT 1− UTC=− 0.0677−0.00081(MJD−55435)−( UT 2− UT 1)
 
         [0035]    where A=2*pi*(MJD−55427)/365.25 and C=2*pi*(MJD−55427)/435; and MJD is a well-known Modified Julian Date time frame. 
         [0036]    Four acceleration forces are integrated in the ICRF coordinate system: earth gravity, moon gravity, sun gravity, and sun solar radiation. These are calculated every three seconds by limited-capability microcomputer  108 , and the results are used to propagate the position and velocity of the respective SV&#39;s  102 . It is important to model all four of the forces, even though the earth gravity clearly dominates. The effects of the other forces are nevertheless significant. For example, not modeling the Sun Solar radiation force can result in 20-30 meters of error in only three days. Whereas, a one second integration period would lead to higher accuracy, a three second integration time was chose as the best compromise of accuracy and computation time. 
         [0037]    One method that can be used to calculate acceleration due to Earth gravity is described by Oliver Montenbruck and Eberhard Gill, in  Satellite Orbits: Models, Method, Applications . The Sun and Moon gravitational forces calculations can be based on Newton&#39;s law of universal gravitation. See, http://en.wikipedia.org/wiki/Newton%27s_law_of_universal_gravitation, i.e., acceleration applied to an object in space from a heavy body is equal to, 
         [0000]        a _gravity= G*M _heavy_body/ r̂ 2; 
         [0000]    where, G is gravitational constant and M_heavy_body is the mass of Sun and Moon (also a constant). The “r” is the distance between heavy object and satellite 
         [0038]    The position of the Sun and Moon is calculated by force models  112  and limited-capability microcomputer  108  every ten minutes and use same calculated location within ten minutes. The Sun and Moon calculations are heavy, and so the calculations are not repeated at every step in the integration. A ten minute rate has been observed to be optimal in terms of trade-off between accuracy and computation time. 
         [0039]    The Sun Solar radiation is also calculated by force models  112  and limited-capability microcomputer  108 , for example, using a model suggested by Henry F. Fliegel and Thomas E. Galini,  Solar Force Modeling of Block IIR Global Positioning System Satellites , Journal of Spacecraft and Rockets, Vol. 33, No. 6, p. 863-866, 1996. An angle β is computed as the angle between the Sun-Earth line and the SV&#39;s orbital plane, e.g., a vector “r” and vector “r−rSun”. 
         [0040]    The Solar radiation forces are calculated by scaling the mass of SV to get final accelerations. The Sun solar radiation is the only force in which the weight and area of the solar panels of the SV matters. There are currently two types of GPS satellites that are operational, block II-A and block II-R: 
         [0041]    Block II-A SV&#39;s: mass=984.5 kg, area=8.133 m̂2; and 
         [0042]    Block II-R SV&#39;s: mass=1100 kg, area=17.66 m̂2. 
         [0000]    Block II-A GPS satellites are being continually replaced with Block II-R satellites. When each replacement occurs, such information will not ordinarily be available to the receiver. However, experiments have shown that the physical parameters of Block II-R satellites can be assumed for all the SV&#39;s (including II-A) without significant adverse impact on receiver position solutions. 
         [0043]    A numerical method is used to integrate all the acceleration forces. Given a satellite state vector “r” in ICRF frame at time “T”, “r” has six components, three for position and three for velocity. In order to estimate state vector “r” at a time “T+dT”, where dT is step size of the integration and is six seconds in embodiments of the present invention. Choosing six seconds results in optimal performance in terms of acceptable position accuracy and reduced calculation time. 
         [0044]    The orbit integration algorithm program code  110  provided to the limited-capability microcomputer  108  includes a Bulirsch-Stoer type algorithm. (See, en.wikipedia.org/wiki/Bulirsch-Stoer_algorithm.) Such algorithm is a method for the numerical solution of ordinary differential equations which combines Richardson extrapolation, the use of rational function extrapolation in Richardson-type applications, and a modified midpoint method, to obtain numerical solutions to ordinary differential equations (ODEs) with high accuracy and comparatively little computational effort. It is sometimes called the Gragg-Bulirsch-Stoer (GBS) algorithm because of the importance of a result about the error function of the modified midpoint method. 
         [0045]    Richardson extrapolation considers a numerical calculation whose accuracy depends on the used step size h as an unknown analytic function of the step size h, performing the numerical calculation with various values of h, fitting a chosen analytic function to the resulting points, and then evaluating the fitting function for h=0, thus approximating the result of the calculation with infinitely fine steps. 
         [0046]    The Bulirsch-Stoer type algorithm uses rational functions as fitting functions for Richardson extrapolation in numerical integration, and is superior to using polynomial functions. Rational functions are able to approximate functions with poles rather well, compared to polynomial functions, given that there are enough higher-power terms in the denominator to account for nearby poles. While a polynomial interpolation or extrapolation only yields good results if the nearest pole is relatively far outside a circle around the known data points in the complex plane, rational function interpolation or extrapolation can remarkably accurate even in the presence of nearby poles. 
         [0047]    The included modified midpoint method has the advantage of requiring only one derivative evaluation per substep. The error of a modified midpoint step of size H, consisting of n substeps of size h=H/n each, and expressed as a power series in h, contains only even powers of h. This makes the modified midpoint method useful with the Bulirsch-Stoer method, because the accuracy increases two orders at a time when the results of separate attempts to cross the interval H with increasing numbers of substeps are combined. 
         [0048]    Although the Bulirsch-Stoer type algorithm included in orbit integration algorithm program code  110  can be expected to provide solutions after completing several different steps, in practice only two steps are required for embodiments of the present invention. So, for a six-second integration sampling rate, accelerations need only be computed every three seconds. Thus the extrapolation stage of the Bulirsch-Stoer method is unnecessary in the application of  FIG. 1 . 
         [0049]    The integration process for embodiments of the present invention therefore reduces to the following steps: 
         [0050]    dT=6 seconds 
         [0051]    h=dT/2=3 seconds 
         [0052]    1) Calculate Acceleration at beginning, mid, and end points of the six seconds internal: 
         [0000]        A 1=Accel( T )=totalAcceleration( T,r ( T ); 
         [0000]        r _est( T+h )= r ( T )+ h*A 1; 
         [0000]        A 2=Accel( T+h )=totalAcceleration( T+h,r _est( T+h ); 
         [0000]        r _est( T+dT )= r ( T )+ dT*A 2; 
         [0000]        A 3=Accel( T+dT )=totalAcceleration( T+dT,r _est( T+dT )); 
         [0053]    2) Calculate state at T+dT, as following: 
         [0000]        r ( T+dT )=0.5*( r _est( T+h )+ r _est( T+dT )+ h*A 3). 
         [0054]    Returning to  FIG. 1 , a Keplerian Solver  115  provides the executable program code that is needed by the limited-capability microcomputer  108  to compute estimates for the fifteen Keplerian parameters in, 
         [0000]        {right arrow over (X)}=[a,e,i 0 ,M 0,Δ n,di/dt,ω,Ω 0,{dot over (Ω)} ,Crs,Crc,Cus,Cuc,Cis,Cic].  
 
         [0000]    These are equivalent to the ephemeris parameters that 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. 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. 
         [0055]    The Keplerian Solver program code  115  converts orbital samples into ephemerides from X-Y-Z satellite positions in ECEF frame. The ephemerides it outputs will each be valid for nine hours, e.g., four hours before its time-of-ephemeris (TOE) and five hours after the TOE. 
         [0056]    The Keplerian Solver program code  115  stores orbit integration data into a very compact ephemeris format, e.g., three days worth of LTCSM data compacts into less than twenty kilobytes. 
         [0057]    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 . 
         [0058]    An updating process  116  schedules when processing time on the limited-capability microcomputer  108  should be used to compute new LTCSM&#39;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. During satellite tracking of SV&#39;s  102 , it cannot be known if the currently in-hand SV ephemeris will be the last one that will be available before power is shut down. There is no point in computing an LTCSM if a later ephemeris will be forthcoming. But, an opportunity is missed if the ephemeris on-hand is not used to start the long-term prediction process and a shut-down intervenes. 
         [0059]    The updating process  116  can also give priority to building models to optimize LTCSM availability at some expected time in the near future. Users often subject their appliances like GPS receivers to repetitive patterns of use during certain times of day. For example, turning on a GPS receiver for the morning commute to work and the evening commute home. Then every morning commute, the updating process  116  would make sure the LTCSM&#39;s needed for that evening are ready before allowing the power to be turned off completely. And in the evening, the LTCSM&#39;s for the next morning are computed by updating process  116 . The updating process  116  could build for only these times. The advantage might be that fewer models are computed. But all models need to be carried forward anyway, so in the end, there is little benefit to prioritization. But if the calculation times were being minimized, and the calculations were only done in certain time windows, then the necessary LTCSM&#39;s could be on-hand for just those times. 
         [0060]    It would be best not to waste computing resources and time calculating any LTCSM&#39;s just because a new ephemeris was decoded. In one basic embodiment of the present invention, the LTCSM&#39;s for satellite vehicles  102  are computed in order of their pseudorandom number (PRN) code division multiple access (CDMA) keys, e.g., PRN-1 to PRN-32. But, it may be better to compute the LTCSM&#39;s in reverse “highN” order, meaning computations are made first for those satellite vehicles  102  that are presently on the opposite side of the earth from the navigation receiver and user position. Those LTCSM&#39;s will not be recalculated anytime soon because no new ephemeris will be forthcoming. This method would, of course, make the required state-machine more complex, but not impossibly so. Such reverse highN order is still valid to do when a fix session is off and in the case where the next power-on occurs before calculations are complete. 
         [0061]    A 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 . Such LTCSM library  118  will eventually have a functional LTCSM saved for each and every SV in a future constellation of SV&#39;s  122  that can present itself in the next several days. The solutions computed in the future without having immediate access to nothing more than the pseudoranges from SV&#39;s  122  comprise position fixes  124 . The navigation messages need not be demodulatable, and so a high sensitivity mode of operation is therefore also enabled. A fast time-to-first-fix (TTFF) is a principal advantage. 
         [0062]    In a server based extended ephemeris network connected device, a long-term compact model reconstruction unit is supported by a host platform. Processing produces current ephemerides and clock estimates in a ICD-GPS-200 type 15-parameter format. The host platform processing strips off the Internet protocol format to extract data that fits better with the GPS receiver. An eRide (San Francisco, Calif.) PVT receiver, for example, receives data in NMEA ASCII format so the Internet packet payload is extracted and converted to an ASCII payload. An eRide MP receiver can receive the data directly from the host in response to a function call. The host translates the Internet format into the native format of the MP client software. 
         [0063]    Here, the fully autonomous extended ephemeris GPS navigation receiver  100  of  FIG. 1  has no such network connection or server available to it. 
         [0064]    As for the satellite clock models, the last observed clock model is always used. This is referred to herein as a hybrid model. In this case, even if a new ephemeris is collected that does not trigger a new self-ephemeris, its clock model is saved and is used when any self-ephemeris is extracted from memory and applied to position fixes. The overall position and clock is still considered a compact or reduced ephemeris as the 2 nd  order satellite clock coefficient is ignored. 
         [0065]    Referring now to LTCSM library  118 , 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. The orbit and clock are just too complex. Therefore, the period of a week into the immediate future is divided into three, eight-hour segments for each of seven days and given a one hour buffer at the beginning and ending, e.g., twenty-one ten-hour long-term models  311 - 333  for every possible GPS satellite. These are forwarded after the four-hour short-term satellite model  310  is sent, and they are optimized for memory storage. Eight-hour segments provide a good tradeoff of fit error to a calculated orbit that does not contribute errors beyond the error of the orbit. 
         [0066]    Clock information is used to update or replace clock predictions as the opportunities arise. Any clock predictions included in the ten-hour long-term models tend to degrade much faster than do the orbit predictions. If it is possible to obtain the latest clock model, that model could be stored in LTCSM library  118 . But, some applications may not want to do this because it degrades how often the flash memory would be written and erased. Such would supersede any clock model previously computed and can be stored in non-volatile memory. 
         [0067]    Spacecraft orbits are predictable because well-known forces act them on. But the satellite clocks are derived from atomic clock standards, and will have random perturbations that are next to impossible to predict. For this reason, it is best to update the clocks whenever possible with the most recently observed ephemeris based clock model at the time of computing each LTCSM. Even if a lot of effort is made to improve the clock model fit, the resulting clock predictions did not usually yield an overall statistical improvement over not predicting at all. 
         [0068]    One limited-capability microcomputer  108  that has provided good results and that is affordable in the intended applications is the so-called ARM-9 running at 54-MHz with an on-board cache memory and program memory in flash devices. Such permitted extended ephemerides to be computed for thirty-two SV&#39;s for three days into the future with about six hours of processing time. This can also be distributed across two hours of processing per day for three days. 
         [0069]    Referring now to  FIG. 2 , a satellite navigation receiver  200 , like that of  FIG. 1 , includes a radio frequency (RF) stage  202 , a digital signal processing (DSP) stage  204 , an ARM-9 processor core  206 , a temperature controlled crystal oscillator (TCXO)  208 , and a flash memory  210 . All of these have their operating power separately controlled by a scheduler  212  in response to user on/off power requests. In mobile type receivers, a battery  214  supplies all of the operating power. Scheduler  210  is directed by updating process  116  ( FIG. 1 ). 
         [0070]      FIG. 3  represents with a graph  300  how a typical user will turn on their satellite navigation receiver  200  on for a sort while, get a few position fixes, and then turn it off. If a particular navigation session  302  is too short to compute (in background) a sufficient bank of extended ephemerides, then when the user requests a power down, RF and DSP stages  202  and  204  will be cut off, but not the other component stages needed to compute the remaining necessary extended ephemerides. A “compute LTCSM&#39;s” session  304  is allowed to carry on the calculations, e.g., the orbit integration, coordinate transformations, and Keplerian solver. 
         [0071]    Only those extended ephemerides that cover the next few hours need to be computed. Computing days or weeks into the future may be a waste of effort given the user may come back in only a few minutes and request a power on. In a typical hardware implementation, the RF stages  202  can consume 15-mA of power, the DSP stage  204  30-mA, the ARM-9 stage  206  needs only 5-mA, the TCXO stage  208  uses 3-mA, and the flash memory  210  needs 2-mA. So the background processing can be done with relatively very little power consumption from a battery. Using a one-volt core this adds up to ten-milliwatts. 
         [0072]    One policy that can be employed for updating process  116  and scheduler  210  is to not do any updating of the LTCSM library  118  until the user requests that power be cut off. Then, those LTCSM&#39;s that can be computed are calculated during compute LTCSM&#39;s session  304 . The risk with such a policy is the user may not power down for a very long time. Then the entire LTCSM library  118  or parts of it could get out-of-date. In order to mitigate that risk, a limitation is imposed on the maximum time that is permitted to elapse since the last update of LTCSM library  118 , and the calculations are carried on in background mode during navigation session  302 . Alternatively, the various constituent LTCSM&#39;s can be inspected for the times that they will expire, and then an update is scheduled to beat those deadlines. 
         [0073]    A navigation session  306  represents one that depends, at least in part, on there being viable LTCSM&#39;s in the LTCSM library  118  that would allow navigation process  120  to provide position fixes  124  in spite of some current ephemerides not being immediately available from SV&#39;s  122 . 
         [0074]    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.