Customer Service Center
Spirent KB Article
Doc ID: FAQ14061
Email Article Link
Positioning Application: What is the format of the GPS modernised CNAV navigation data binary dump files?
GPS L1C, L2C or L5 navigation data
Go to menu [Options-->General Options]
Enable "Dump navigation data"
Run the scenario (normal speed or turbo speed)
For GPS modernised CNAV navigation data, PosApp creates a binary files called
- L1C = "nav_data_bits_1.L1_cnv" (pre FEC) & "nav_data_fec_1.L1_cnv" (post FEC)
- L2C = "l2c_nav_data_1.cnv" (pre FEC) & "l2c_nav_data_fec_1.fec_cnv" (post FEC)
- L5 = "l5_nav_data_1.cnv" (pre FEC) & "l5_nav_data_fec_1.fec_cnv" (post FEC)
You can decode the binary files using the following utilities via menu [Tools-->General Utilities]
- L1C = "GPS L1C Nav Data Extract"
- L2C & L5 = "GPS L2C/L5 Nav Data Extract"
But to decode the binary files for yourself, the following explanations are of benefit:-
First 12 bytes (0 -11) are the characters “GSS CNAVDATA”
Next byte (12) is major file version (at the time of writing, the current value is 0)
Next byte (13) is minor file version number (at the time of writing, the current value is 2)
Next byte (14) is file type:
Value 0 = L1C or L2C bits (pre-fec)
Value 2 = L1C or L2C or L5C symbols (post-fec)
Value 64 = L5C bits (pre-fec)
Next byte (15) is spare
Then there follows repeated blocks of bits or symbols, block length depends on file type.
The MSB of the first byte contains the first bit/symbol of the message and the LSB contains the eighth bit/symbol.
Where the message length is not a multiple of 8 then the unused least significant bits of the last byte should be discarded. For example
L2C pre-FEC nav data message block is 300 bits long, written as 38 bytes. 38*8 = 304 bits, so the 4 LSBs of the last byte are not part of the data and should be discarded.
L2C post-FEC symbol data message block is 600 symbols long, written as 75 bytes. 75*8 = 600 symbols exactly, so no bits are discarded.
Message lengths for the various file types are given below:
L1C Pre-FEC Binary File = "nav_data_bits_1.L1_cnv"
- Bytes to Read = 113
- Bits to Read = 900
- 113 * 8 = 904, so discard last 4 LSBs of last byte
L1C Post-FEC Binary File = "nav_data_fec_1.L1_cnv"
FEC Bytes to Read = 225
- FEC bits to Read = 1800
- 225 * 8 = 1800, so no bits to discard
L2C Pre-FEC Binary File = "l2c_nav_data_1.cnv" & L5C Pre-FEC Binary File = "l5_nav_data_1.cnv"
Bytes to Read = 38
- Bits to Read = 300
- 38 * 8 = 304, so discard last 4 LSBs of last byte
L2C Post-FEC Binary File = "l2c_nav_data_fec_1.fec_cnv" & L5C Post-FEC Binary File = "l5_nav_data_fec_1.fec_cnv"
FEC Bytes to Read = 75
- FEC bits to Read = 600
- 75 * 8 = 600, so no bits to discard
Product : Nav Data Decoder,SimGEN,PosApp,C/NAV,L5,L2C,L1C,GPS