Ionospheric error prediction and correction in satellite positioning systems

A GPS server capable of receiving information for use in determining ionospheric errors using mathematical formulas and sending ionospheric error correction information to GPS receivers that are in a location capable of receiving the ionospheric error correction information.

BACKGROUND OF THE INVENTION

1. Field of the Invention

This invention relates generally to satellite positioning systems (“SPS”) devices, and in particular to ionospheric error predication and correction in an SPS.

2. Related Art

Satellite positioning systems (“SPS”) are satellite-based navigation systems. Examples of SPS include but are not limited to the United States (“U.S.”) Navy Navigation Satellite System (“NNSS”) (also know as TRANSIT), LORAN, Shoran, Decca, TACAN, the Joint Program Office (“JPO”) Global Positioning System (“GPS”) (also known as NAVSTAR, which was developed by the U.S. Department of Defense (“DoD”) in the early 1970s), the Russian counterpart known as Global Navigation Satellite System (“GLONASS”) and any future Western European SPS such the proposed “Galileo” program. The NAVSTAR GPS (henceforth referred to simply as “GPS”) was originally developed as a military system to fulfill the needs of the U.S. military; however, the U.S. Congress later directed DoD to also promote GPS's civilian uses. As a result, GPS is now a dual-use system that may be accessed by both U.S. government agencies (such as the military) and civilians. The GPS system is described inGPS Theory and Practice, Fifth ed., revised edition by Hofiann-Wellenhof, Lichtenegger and Collins, Springer-Verlag Wien NewYork, 2001, which is fully incorporated herein by reference.

Typically, the utilization of SPS includes identifying precise locations on the Earth and synchronizing telecommunication networks such as military communication networks and the code division multiple access (“CDMA”) cellular telephone networks. Additionally, with the advent of the U.S. Congress' mandate, through the Federal Communications Commission (“FCC”), for a cellular telephone network that is capable of providing cellular telephone user's location within 50 feet in emergency situations (known as Enhanced 911service or “E911”), SPS will be employed for both location determination and synchronization in many cellular applications.

In general, the array of GPS satellites transmit highly accurate, time coded information that permits a GPS receiver to calculate its location in terms of latitude and longitude on Earth as well as the altitude above sea level. GPS is designed to provide a base navigation system with accuracy within approximately 100 meters for non-military users and even greater precision for the military and other authorized users (with Selective Availability set to ON).

The space segment of GPS is a constellation of satellites orbiting above the earth that contain transmitters, which send highly accurate timing information to GPS receivers on earth. At present, the implemented GPS constellation includes 21 main operational satellites plus three active spare satellites. These satellites are arranged in six orbits, each orbit containing three or four satellites. The orbital planes form a 55° angle with the equator. The satellites orbit at a height of approximately 10,898 nautical miles (20,200 kilometers) above the Earth with orbital periods for each satellite of approximately 12 hours.

Generally, each of the orbiting satellites contains four highly accurate atomic clocks (two rubidium and two cesium). These atomic clocks provide precision timing pulses used to generate a unique binary code (also known as a pseudorandom “PRN-code” or pseudo noise “PN-code”) that is transmitted to Earth. The PRN-code identifies the specific satellite in the constellation. The satellite also transmits a set of digitally coded ephemeris data (also known as “ephemerides”) that defines the precise orbit of the satellite. The ephemeris data indicates where the satellite is at any given time, and its location may be specified in terms of the satellite ground track in precise latitude and longitude measurements. The information in the ephemeris data is coded and transmitted from the satellite providing an accurate indication of the position of the satellite above the Earth at any given time. Typically, a ground control station updates the ephemeris data of the satellite once per day to ensure accuracy.

More specifically, each GPS satellite transmits a microwave radio signal presently composed of two carrier frequencies modulated by two digital codes and a navigation message. The two carrier frequencies are generated from a highly accurate fundamental L-band frequency of 10.23 MHz produced by the four atomic clocks. The two carrier frequencies, known as L1and L2, are coherently derived from the fundamental frequency by multiplying the fundamental frequency by 154 and 120 to produce L1at 1575.42 MHz and L2at 1227.60 MHz, respectively. These dual frequencies are utilized to eliminate some of the major sources of error.

The pseudoranges that are derived from measured travel times of the signal from each satellite to the receiver use two PRN-codes that are modulated onto the two base carriers. The first code is the Coarse/Acquisition code (“C/A-code” also known as the “Standard Positioning Service”) that is available for civilian use. The C/A-code has an effective wavelength of approximately 300 meters. Presently, the C/A-code is modulated only on L1and is purposely omitted from L2. This omission allows DoD to control the information broadcast by the satellite and, thus, denies full system accuracy to non-authorized users. The second code is the Precision code (“P-code” also known as the “Precise Positioning Service”) that has been reserved for the U.S. military and other authorized users and has an effective wavelength of approximately 30 meters. The P-code is modulated on both the L1and L2carriers.

In addition to the PRN-codes, a data message is modulated onto both carriers that include status information, satellite clock bias, and satellite ephemerides. It is appreciated by those skilled in the art that the U.S. intents to improve the above described signal structures in the future.

As an additional security precaution, DoD has included a number of techniques for denying non-authorized users full access to GPS. These techniques include Selective Availability (“SA”), Anti-spoofing (“A-S”) and Selective Denial (“SD”). The goal of SA was to deny navigation accuracy to potential adversaries by dithering the satellite clock and manipulating the ephemerides. However, due to the appearance of new techniques to compensate for SA errors such as differential techniques, SA was eventually turned OFF on May 2, 2000. A-S has the ability to essentially turn-off the P-code or invoke an encrypted code as a means of denying access to the P-code to all but authorized users. A-S is accomplished by the modulo-2 sum of the P-code and an encrypted W-code. The resulting code is denoted as the Y-code and when A-S is active the P-code on the L1and L2carrier is replaced by the unknown Y-code. Future plans for signal structure will include a C/A-code on both the L1and L2carriers and the Y-code will be replaced with a new military split-spectrum signal denoted as the M-code. Finally, SD denies access to the GPS signal to unauthorized users in regions of interest by utilizing ground-based jammers.

FIG. 1illustrates a diagram100of an example implementation of an SPS. In operation, a SPS receiver102located on the Earth104is designed to pick up signals106,108,110and112from several SPS satellites114,116,118and120simultaneously. The SPS receiver102decodes the information and, utilizing the time and ephemeris data, calculates the position of the SPS receiver102on the Earth104. The SPS receiver102usually includes a floating-point processor (not shown) that performs the necessary calculations and may output a decimal display of latitude and longitude as well as altitude on a handset (not shown). Generally, signals106,108and110from at least three satellites114,116and118are needed for latitude and longitude information. A fourth satellite120signal112is needed to compute altitude.

Unfortunately, SPS includes several types of errors that typically degrade the performance of the SPS receiver. These errors include random errors and systematic errors that may originate at the satellites, the SPS receiver or be the result of signal propagation errors. The errors originating at the satellites include ephemeris, orbital, satellite clock, and in the case of GPS, the systematic error caused by the SA, S-A and/or SD selections. The errors originating at the receiver include; receiver clock errors, multipath error, receiver noise, and antenna phase center variations. Generally, multipath error correction methods are well known and have been implemented in some GPS chip set architectures.

The signal propagation errors are the result of atmospheric refraction that includes delays of the SPS signal as it passes through the ionospheric and tropospheric layers of the atmosphere. In general, the ionosphere is a dispersive medium, which lies between seventy and one thousand kilometers above the Earth's surface. The ionosphere is at the upper part of the atmosphere where the ultraviolet and X-ray radiation from the sun interacts with the gas molecules and atoms of the atmosphere to produce gas ionization. The gas ionization results in a large number of free negatively charged electrons and positively charged atoms and molecules. As a result, the electron density within the ionosphere is not constant and changes with altitude and time as a result of the sun's radiation and the Earth's magnetic field.

As such, the ionosphere bends SPS radio signals and changes their propagation speed as they passes through the ionosphere. Bending is known to typically cause negligible range errors (particularly if the satellite elevation angle is greater than 5 degrees); however, the change in propagation speed is known to cause significant range errors because the ionosphere speeds up the propagation of the carrier phase beyond the speed of light while slowing down the PRN-code by the same amount. The ionospheric delay is proportional to the number of free electrons along the SPS signal path and is known as the Total Electron Content (“TEC”). TEC depends on a number of factors including the time of day, the time of year, the 11-year solar cycle and geographic location of the SPS receiver relative to the SPS satellite. Additionally, the ionosphere causes a delay that is frequency dependent such that the lower the frequency, the greater the delay. Thus, the L2delay is greater than the L1delay. As an example, the ionospheric delay of a transmitted SPS signal may cause an error of approximately ten meters when calculating the position of the SPS receiver.

As a result, numerous techniques have been developed to minimize many of these errors including the technique known as Differential Global Position Systems (“DGPS”). DGPS is a technique of differencing signals from two or more SPS receivers to improve the accuracy of the signal. Typically, DGPS involves at least two SPS receivers. One SPS receiver is usually mobile (i.e., a “mobile GPS receiver”) and another SPS receiver is stationary. The stationary SPS receiver is usually known as a “GPS server” and is typically located at a reference site that has known coordinates. If the GPS server and mobile GPS receiver are located within an acceptable proximity of each other, the GPS server and mobile GPS receiver will receive the GPS satellite signals simultaneously. Therefore, most of the errors in the GPS satellite signals will be received equally by both the GPS server and mobile GPS receiver. The GPS server then calculates any needed error corrections by comparing the difference between its calculated coordinates from the received GPS satellite signal and its known coordinates. These calculated error corrections are transmitted to the mobile GPS receiver, which may then compensate for the received errors in its received GPS satellite signal.

Unfortunately, DGPS is not always available and even when it is it may still take a relatively long time to determine an acceptable position accuracy at the mobile SPS receiver because the mobile SPS receiver needs to receive the differential data from the SPS server. However, this differential data is only the error information observed at the SPS server not the mobile SPS receiver. As the distance between the mobile SPS receiver and SPS server increases, the error information observed at the SPS server becomes less useful.

Additionally, now that SA has been turned off by DoD, ionospheric and multipath errors have become the most prominent errors. Therefore, the need for routinely communicating between the mobile SPS receiver and SPS server to compensate for SA is no longer present. Unfortunately, conventional DGPS schemes continue to perform numerous costly communications between the mobile SPS receiver and SPS server. Moreover, when the communication link is unstable (such as in a wireless system) or unavailable the benefits of DGPS drop of significantly.

Besides DGPS, another approach to correct for ionospheric errors includes using models of the ionosphere to predict the ionospheric errors. The model approach is most often utilized in non-DGPS standalone GPS applications. The Klobuchar model (also known as the TEC model) is probably the most commonly utilized ionospheric model because the model is broadcast in GPS navigation messages from the GPS satellite and is described in theGlobal Positioning System, Interface Control Document, ICD-GPS-200, Revision C, Initial Release, Oct. 10, 1993, which is fully incorporated herein by reference. According to ICD-GPS-200, for the L1frequency, the ionospheric error may be modeled as a shell (also known as a “half-cosine” curve) that is described by the following physical relationship

Tiono={F×[DC+A⁢cos⁡(2⁢π⁡(t-ψ)P)],if⁢|x|<π2F×(DC),if⁢|x|≧π2⁢where⁢⁢x=2⁢π⁡(t-ψ)/P⁢⁢and⁢⁢Tiono
(also known as Tzenith) has the units of seconds and is the error on the zenith direction caused by the ionosphere.FIG. 2illustrates an example graph200of Tzenith202in nanoseconds versus local time204in hours. F is a scaling factor of the ionospheric delay that is typically known as the “obliquity factor,” which is defined as F=1.0+16.00×(0.53−E)3, where E is the “elevation angle” between a GPS receiver and a GPS satellite.FIG. 3illustrates an example graph300of F302versus elevation angle304in degrees.

The second part of the Tionoformula represents the error effect caused by the change to the TEC. Here

A={∑n=03⁢⁢αn⁢ϕmn,if⁢⁢A≦00,if⁢⁢A<0
seconds and

P={∑n=03⁢⁢βn⁢ϕmn,if⁢⁢P≧72,00072,000,if⁢⁢P<72,000
seconds where DC=5.0×10−9seconds, σ=50,400 seconds and αnand βnare the satellite transmitted data words with n=0, 1, 2 and 3, which are defined by reference paragraph 20.3.3.5.1.9 (“Ionospheric Data”) described in the ICD-GPS-200. Reference paragraph 20.3.3.5.1.9 defines parameters that allow the L1only, or L2only, user to utilize the ionospheric model (reference paragraph 20.3.3.5.2.5) for computation of the ionospheric delay and are contained in page 18 of subframe 4. The bit lengths, scale factors, ranges and units of these parameters are given in Table 20-X of the ICD-GPS-200.

Unfortunately, the TEC model described in ICD-GPS-200 still results in significant ionospheric errors because ICD-GPS-200 treats both DC and σ as constant values while the actual TEC values of the ionosphere is difficult to model. According to ICD-GPS-200 model, DC has a constant value of 5 nanoseconds though it is known to vary from location to location and the phase term σ has a constant value of 14 hours (i.e., 50,400 seconds) although it is also known to vary from 11 to 17 hours for a certain season, location and condition of solar activity. As a result, the ICD-GPS-200 model is known to correct for no more than about 50% of the ionospheric transmission delays.

Thus, there is a need in the art for a way to predict and compensate for the ionospheric errors in SPS.

SUMMARY

This invention provides a way for satellite positioning systems (“SPS”) to more accurately determine a SPS receiver's position with less frequent message transmission compared to conventional way of SPS receivers. A SPS system having a GPS receiver and a GPS server compensates for ionospheric errors by receiving ionospheric information at periodic times coinciding with ionospheric events such as sunrise, noon and sun set. The compensation information is sent to a GPS receiver at predetermined events, such as power up, sunrise, noon, and sun set. The GPS receiver then may use other error correction methods in addition to ionospheric error correction when determining the position of the GPS receiver.

DETAILED DESCRIPTION

InFIG. 4, a satellite positioning system (“SPS”) for predicting and compensating for ionospheric errors (“SPSPC”)400is shown having a SPS server402and a mobile SPS receiver404. Both the SPS server402and mobile SPS receiver404are in signal communication with various SPS satellites406,408and410via signal paths412,414,416,418,420and422, respectively. Additionally, the SPS server402is in signal communication with the mobile SPS receiver404via signal path424.

The SPS server402may include a server radio frequency (“RF”) front-end.426, a SPS Server Module428, a Server Communication module430and a SPS server bus432. The SPS Server Module428may include a Server Position Calculation Module434in signal communication with the RF front-end426, via signal path436, a Server Ionospheric Error Modeling Module438, Server Processor and/or Controller440and Server Storage Module442. The Server Ionospheric Error Modeling Module438, Server Processor and/or Controller440and Server Storage Module442and Server Communication Module430are all in signal communication via the SPS server bus432.

Similarly, the mobile SPS receiver404may include a Mobile RF front-end444, a Mobile SPS Receiver Module446, a Mobile communication module448and a Mobile SPS receiver bus450. The Mobile SPS Receiver Module446may include a Mobile Position Calculation Module452in signal communication with the Mobile RF front-end444, via signal path454, a Mobile Ionospheric Error Modeling Module456, Mobile Processor and/or Controller458and Mobile Storage Module460. The Mobile Ionospheric Error Modeling Module456, Mobile Processor and/or Controller458and Mobile Storage Module460and Mobile Communication Module448are all in signal communication via the Mobile SPS bus450.

Examples of the Server Communication Module430and Mobile Communication Module448may be any radio and/or cellular communication device that is capable of transmitting and receiving analog and/or digital communication data. Examples of the SPS Server Module428and Mobile SPS Module446may include any baseband SPS circuitry that is capable of modeling ionospheric errors.

The Server Processor/Controller440and Mobile Processor/Controller458may include any microcontroller or microcomputer capable of controlling the operations of the sub-modules of either the SPS Server Module428or Mobile SPS Receiver404, processing the data produced by the Server Position Calculation Module434or Mobile Position Calculation Module452and generating the ionospheric error data to create and utilize an ionospheric error model. The Server Storage Module442and Mobile Storage Module460may include any type of storage device and/or memory capable of storing data values or software logic and code.

The Server Processor/Controller440and/or Mobile Processor/Controller458may be any type of control device that may be selectively implemented in software, hardware (such as a computer, processor, microcontroller or the equivalent), or a combination of hardware and software. The Server Processor/Controller440and/or Mobile Processor/Controller458may utilize optional software (not shown) residing in software memory (not shown) in Server Storage Module442and/or Mobile Storage Module460.

Any software in Server Storage Module442and/or Mobile Storage Module460may include an ordered listing of executable instructions for implementing logical functions, may selectively be embodied in any computer-readable (or signal-bearing) medium for use by or in connection with an instruction execution system, apparatus, or device, such as a computer-based system, processor-containing system, or other system that may selectively fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions. In the context of this document, a “computer-readable medium” and/or “signal-bearing medium” is any means that may contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. The computer readable medium may selectively be, for example but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or propagation medium. More specific examples “a non-exhaustive list” of the computer-readable medium would include the following: an electrical connection “electronic” having one or more wires, a portable computer diskette (magnetic), a RAM (electronic), a read-only memory “ROM” (electronic), an erasable programmable read-only memory (EPROM or Flash memory) (electronic), an optical fiber (optical), and a portable compact disc read-only memory “CDROM” (optical). Note that the computer-readable medium may even be paper or another suitable medium upon which the program is printed, as the program can be electronically captured, via for instance optical scanning of the paper or other medium, then compiled, interpreted or otherwise processed in a suitable manner if necessary, and then stored in a computer memory.

The Server Position Calculation Module434and the Mobile Position Calculation Module452may be implemented to operate on either or both the carrier frequencies L1and L2.FIGS. 5-7describe example implementations of the Server Position Calculation Module434and the Mobile Position Calculation Module452operating on various carrier frequencies.

InFIG. 5, an example implementation of the Server Position Calculation Module500that only operates on carrier frequency L1is shown. The Server Position Calculation Module500may include a carrier frequency mixer502, C/A-code mixer504and a Data Decoder506. As an example of operation, the Server RF Front-End426,FIG. 4, provides a received GPS signal, via signal path436, to the Server Position Calculation Module500,FIG. 5. The Server Position Calculation Module500first removes the L1carrier from the received GPS signal436by mixing, in the carrier frequency mixer502, the received GPS signal436with a signal produced by a L1carrier frequency source508. The resultant demodulated signal510is then input into the C/A-code mixer504where the demodulated signal510is mixed with a signal produced by a C/A-code generator512. The output514of the C/A-code mixer504is then input to the data decoder506where the signal is decoded and later processed. The C/A-code mixer504may be implemented with a bank of correlators or a matched filter network.

InFIG. 6, another example implementation of the Server Position Calculation Module600is shown that operates on both the L1and L2carrier frequencies. The Server Position Calculation Module600may include a L1carrier frequency mixer602, a L2carrier frequency mixer604, a C/A-code mixer606, a P-code mixer608, and a L1Data Decoder610and a L2Data Decoder612. As an example of operation, the Server RF Front-End426,FIG. 4, provides a received GPS signal, via signal path436, to the Server Position Calculation Module600,FIG. 6. The Server Position Calculation Module600first removes the L1carrier from the received GPS signal436by mixing, in the L1carrier frequency mixer602, the received GPS signal436with a signal produced by a L1carrier frequency source614. The Server Position Calculation Module600also simultaneously removes the L2carrier from the received GPS signal436by mixing, in the L2carrier frequency mixer604, the received GPS signal436with a signal produced by a L2carrier frequency source616. The resultant demodulated signals618and620are then input into the C/A-code mixer606and P-code mixer608, respectively, where the demodulated signal618is mixed with a signal produced by a C/A-code generator622and the demodulated signal620is mixed with a signal produced by a P-code generator624. The output626of the C/A-code mixer606is then input to the L1data decoder610and the output628of the P-code mixer608is then input to the L2data decoder612, where the signals are decoded and later processed. Both the C/A-code mixer606and P-code mixer628may be implemented with a bank of correlators or a matched filter network.

It is appreciated by those skilled in the art that the advantage to utilizing both L1and L2carrier frequencies is that multiple frequency observations from the same GPS satellite may almost completely correct any delay errors caused by ionospheric interference. However, it is also appreciated that for security reasons most GPS receivers do not receive the L2carrier frequency because they are not authorized by DoD.

Similarly, inFIG. 7, an example implementation of the Mobile Position Calculation Module700that only operates on carrier frequency L1is shown. The Mobile Position Calculation Module700may include a carrier frequency mixer702, C/A-code mixer704and a Mobile Data Decoder706. As an example of operation, the Mobile RF Front-End444,FIG. 4, provides a received GPS signal, via signal path454, to the Mobile Position Calculation Module700,FIG. 7. The Mobile Position Calculation Module700first removes the L1carrier from the received GPS signal454by mixing, in the carrier frequency mixer702, the received GPS signal454with a signal produced by a Mobile L1carrier frequency source708. The resultant demodulated signal710is then input into the C/A-code mixer704where the demodulated signal710is mixed with a signal produced by a Mobile C/A-code generator712. The output714of the C/A-code mixer704is then input to the Mobile Data Decoder706where the signal is decoded and later processed. Again, the Mobile C/A-code mixer704may be implemented with a bank of correlators or a matched filter network.

WhileFIG. 7only illustrates an example implementation of the Mobile Position Calculation Module700operated on carrier frequency L1, the Mobile Position Calculation Module700may also be designed to operate on both the L1and L2carrier frequencies. One skilled in the art will recognize that design modifications, similar those illustrated inFIG. 6, may also be implemented for the Mobile Position Calculation Module700to operate on both the L1and L2carrier frequencies.

InFIG. 8, a flowchart800is shown that describes an example process performed by the SPS Server402,FIG. 4, to determine the ionospheric error correction and create an ionoshpheric error model for predicting further ionospheric errors. The process starts in step802when the SPS server402receives a SPS signal in step804. The SPS Positional Calculation module434then, in step806, determines the calculated positional coordinates of the SPS server402from the received SPS signal. Because the SPS server402is utilized as a reference source, the actual positional coordinates of the SPS server402are known and the SPS Positional Calculation module434is able to detect and identify positional range errors caused by the ionosphere. Therefore, in step808, the SPS Positional Calculation module434compares the calculated positional coordinates of the SPS server402obtained from the SPS signal to the actual known positional coordinates of the SPS server402. If the values are the same, the ionosphere has not added any error in the measurement and the process ends at step812because no correction is necessary.

If instead, the values are different, the process continues to step814where the SPS Positional Calculation module434determines the ionospheric error by comparing the calculated positional coordinates from SPS signal to the known positional coordinates of the SPS server402. In step816, the Server Ionospheric Error Modeling Module438then creates an ionospheric model of predicted ionospheric errors from the ionospheric error determined by the SPS Positional Calculation module434. In steps818,820,822,824and826, the Server Ionospheric Error Modeling Module438, in combination with the Server Processor/Controller440, determines the best approach for creating the ionospheric model. Various methods may be made available to the Server Ionospheric Error Modeling Module438for creating the ionosheric model. The various modeling methods may be used alone, or in combination, based upon any number of factors, such as calculation speed, degree of error, or other determining factors. Steps818and820, illustrate the availability of a half cosine curve to create the ionospheric model, while steps822and824, illustrate the availability of a triangle shape curve to create the ionospheric model. The half cosine curve, discussed above, is well known to those skilled in the art. The triangle shape curve is a simplified version of the cosine curve and may be utilized in certain conditions when ionospheric errors vary only slightly. An example triangle curve relationship may be described by the following equation:

Tiono={F×[DC+A×|x|],if⁢|x|<π2F×(DC),if⁢|x|≧π2.
Additionally, step826illustrates the utilization of a lookup table to create the ionospheric model. Look up tables are well known in the art and may include a tabulation of data that was previously created by mathematical relationship, such as a half cosine or triangle curve, in order to simulate or model the process. As an example, the lookup table may be stored in the Server Storage Module442allowing the Server Processor/Controller440to access the table as needed. In step828, once the Server Ionospheric Error Modeling Module438has finished creating the ionospheric model, the Server Ionospheric Error Modeling Module438determines the descriptive parameters for the ionospheric model, which are passed to the Server Communication Module430via the SPS Server bus432. In step830, the Server Communication Module430transmits the ionospheric model parameters to the Mobile SPS receiver404.

As shown by step832, the accuracy of the generated ionospheric error model may be verified and corrected as necessary. In step832, the SPS Server402receives a new or second SPS signal. In step834, the Server Position Calculation Module434and Server Ionospheric Error Modeling Module434determine the new or second ionospheric error by comparing calculated position of the SPS server402measured by the SPS signal from the actual position of the SPS server402. The new or second ionospheric error is then compared against the predicted ionospheric error from the ionospheric model generated by the Server Ionospheric Error Modeling Module434in step836. If second or new ionospheric error falls within the acceptable parameters of the ionospheric model, the process again ends in step838because no corrections are need to the ionospheric model. If instead, an error is detected, the process continues to step840, where the ionospheric model of predicted ionospheric errors is adjusted in response to the second ionospheric error falling outside the parameters established by the ionospheric model. New ionospheric model parameters from the newly generated ionospheric model may then be determined by the Server Ionospheric Error Modeling Module438in step842. The adjusted ionospheric parameters are then transmitted by the Server Communication Module430, via signal path424, to the Mobile SPS Receiver404in step844. The process then ends in step812. However, it is appreciated that the whole process may repeat itself numerous times as needed to properly model errors in SPS signal from the ionosphere.

InFIG. 9, a flowchart900is shown that describes an example process preformed by the mobile SPS receiver404,FIG. 4, in compensating for ionospheric error. The process starts at step902, where the Mobile SPS receiver404receives a SPS signal from an SPS satellite in step904. The Mobile Communication Module448also receives the ionospheric model parameters from the SPS Server402in step906. The Mobile Position Calculation Module452and Mobile Ionosphere Error Modeling Module456create a SPS receiver ionospheric model of the predicted error from the received ionospheric model parameters in step908. Similar to the options in the SPS Server402, the Mobile SPS Module446may utilize a half cosine curve in steps910and912, a triangle curve in steps922and924or lookup table in step926. The lookup table may similarly be stored in the mobile storage module460. The Mobile Position Calculation Module452then determines the calculated positional coordinates of the SPS receiver404from the received SPS signal in step914. The Mobile SPS Module446then, in step918, compensates for the ionospheric errors in the calculated positional coordinates with the SPS receiver ionospheric model created by the Mobile Ionospher Error Modeling Module456. The process then ends in step920. However, it is appreciated by those skilled in the art that the Mobile SPS Module446may repeat the process if the SPS Server402sends a new transmission with new ionospheric model parameters or if it is needed by the Mobile SPS Module446.