GPS
| Back to: | CIRM Knowledge Base |
| Page completeness level: | Low |
Overview
The Global Positioning System (GPS), originally Navstar GPS, is a space-based radio-navigation system owned by the United States government and operated by the United States Air Force. It is a GNSS that provides geolocation and time information to a GPS receiver anywhere on or near the Earth where there is an unobstructed line of sight to four or more GPS satellites.
A handy tutorial (from Trimble) on how GPS works can be found here: How GPS works
IODC Issue
In January 2018, The Maritime & Coastguard Agency forwarded a letter to CIRM from the US Air Force regarding a change to the GPS system which could affect GPS receivers that are not compliant with IS-GPS-200H. This software update was intended to be implemented across the GPS constellation at some point after 1st March 2018, and relates to the data length of the Issue of Data, Clock (IODC) term, which would change from an 8-bit to a 10-bit number.
IODC Overview
With acknowledgements to Chris Hoffman, Director of Technology Strategy at ACR Electronics, Inc. for the following information. IODC is one of the tags for the ephemeris data that provides the Keplerian elements that the GPS Receiver needs to be able to calculate satellite positions and satellite atomic clock errors. The ephemeris data is updated on a regular basis (every few hours) and each new set of ephemeris data has a different IODC and IODE (issue of data, ephemeris) which can be used to identify changes to the data and confirm which set of ephemeris data is being used. Old ephemeris data will lead to both position and timing errors, that will increase over time. The IODC value has apparently been 10 bits since the early 1990s, however, the USAF have until now just been using 8 of these bits. It is not clear what will happen in a GPS Receiver if it mishandles IODC, as that down to the way in which the software in each receiver is implemented. It could just create increasing position and time errors, or it could increase ‘fix’ times, or it could stop the receiver from providing position and time altogether (if for example it prevents the ephemeris from being downloaded). It is thought just as likely that there could be an error in a modern GPS Receiver as in an old one, it depends on how well each manufacturer has implemented IS-GPS-200H in their software.
Background on Ephemeris and IODC
- Part of the data stream from a GPS receiver (and all GNSS receivers) is something called a “Broadcast Ephemeris” (also called BrdcEph).
- Each constellation type broadcasts its own BrdcEph form (but they generally fall into two categories, which is not important to this discussion). For GPS, this BrdcEph contains Keplerian elements, allowing one to calculate satellite positions, and satellite clock elements.
- The BrdcEph basically allows the receiver to calculate the satellite position and satellite clock error for a short arc period (some +/- several hours and some +/- ½ hour); that is, within a given BrdcEph “validity” arc, the receiver can calculate the satellite position and satellite clock error at time along that arc.
- Satellite Clock Error is clearly important because signals travel at the speed of light and the clocks on the satellites are not perfect. Thus the BrdcEph provides a clock error polynomial that allows one to calculate the satellite clock error at any point along that validity arc.
- From one BrdcEph to another (i.e., two adjacent ones whose validity arcs overlap somewhat), the validity arcs (of positions and satellite clock error) do not exactly line up.
- In a “Differential GPS Correction” service, a reference receiver essentially calculates the errors it observes in the signals (i.e., it is over a known location and therefore any errors in the signals, such as tropospheric and ionospheric effects, will be seen). Reference stations turn these errors into “corrections” which are broadcast to users. The users assume that these same errors are common and applies these corrections to their signals to get an improved position (this is a simplistic explanation because as the reference and user distance separates, these errors become less common). Because the arcs between two adjacent BrdcEph arcs do not exactly line up, the reference needs to tell the user which ephemeris it used.
- In autonomous positioning and/or time-transfer GPS applications, the GPS receiver also needs to know when the BrdcEph changes.
- To aid in BrdcEph uniqueness identification, there are two numbers that are part of the BrdcEph: i.e., Issue of Data, Ephemeris (IODE), Issue of Data, Clock (IODC). These values are small numbers (i.e., IODE is 8-bits and IODC is 10 bits), and how often a value of each is repeated is well defined (i.e., ensuring unique numbers for periods of time). Thus receivers do not need to do compare nearby (in time of broadcast) BrdcEph to know that there has been a change. Furthermore, one or both of these numbers can be part of the above mentioned correction broadcast stream to uniquely tell the user which BrdcEph was used to generate the corrections.
- Most people using the “Differential” technique communicate the IODE (and not the IODC) because the low 8-bits of the IODC are always equal to the value of the IODE, and such differential techniques need to know when the positional or clock elements of the BrdcEph have changed. When the IODE changes, we know for certain that there has been a change.