Nav-Soft an OpenSource Software GNSS company.

Home > Hardware Rx > Ephemeris

Decoding the Navigation Message

The GPS NavStar Satellites send data consisting of 5 different sub-fames, each sub-frame is made up of 10 words each containing 30 bits. Once a complete navigation message subframe was been received it is sent to the ephemeris thread for processing.

The ephemeris thread decodes the navigation message subframe (or WAAS message frame) to determine what type of message it contains, and then calls the correct routine to decipher the message structure and write the values to the appropriate program variables.

Ephemeris Messages

If the subframe contains ephemeris data then the number of the subframe is determined 1,2 or 3. For subframe 1 the IODE is checked to see if it has changed and is aligned with the IODC for the current full ephemeris message, if so then subframe 1 is processed.

If the subframe is 2 or 3 then the IODE is checked to see if it is the same as the other frame 3 or 2 and that it is equal to the current ephemeris IODC%256, if so subframes 2 and 3 are processed together.

If the subframe is 1 ,2 or 3 and a full set of 3 new ephemeris subframes have been received, then all 3 subframes are processed together.

The ephemeris subframes are decoded and the values needed to calculate the orbit of the satellite allocated to the current channel are written to the ephemeris data structure for later use in the position calculation process.

Almanac and Other Messages

Subframes 4 and 5 contain Almanac Data, Ionospheric correction data and General and Detailed satellite health data. For these subframes the page no or message type is determined and the subframe is processed by the appropriate function.

Pages 1-32 contain the Almanac data for all the Navstar satellites, page 51 contains satellite estimated accuracy data, page 56 contains Ionospheric model and UTC data and page 63 contains satellite health information

The exact details of the message structures are available in the NATO document TBD and many excellent web sites.

WAAS Messages

In a similar manner the WAAS message type is determined when a full frame of data has been received and a routine specific to the message type is used to decode the data. There are 17 different messages that can be broadcast by a WAAS satellite.

Although this receiver decodes all the message types below it only uses those marked with a # in it's internal processing.

Type 0 - Don't Use

Type 1 - PRN Mask assignment - #

Type 2-5 - Fast Corrections - #

Type 6 - Integrity Information

Type 7 - Fast Correction Degradation Factor

Type 8 - Estimated RMS Error

Type 9 - GEO Navigation Parameters - #

Type 10 - Degradation Parameters

Type 12 - WAAS Network Time/UTC offset paramters

Type 17 - GEO Alamanc Parameters - #

Type 18 - Ionospheric Grid Point Mask - #

Type 24 - Mixed Fast/Long Term corrections - #

Type 25 - Long Term corrections - #

Type 26 - Ionospheric Delay corrections - #

Type 27 - Differential UDRE factors for user locations

Type 28 - Clock Ephemeris Covariance matrix

Type 63 - Null Message

All the other message types are Reserved for future messages or Internal System use.

Back to Top of Page