Printer FriendlyEmail Article Link

Positioning Application: What is the format of the GPS modernised CNAV navigation data binary dump files?

Environment/Versions
  • PosApp (SimGEN)
  • GPS L1C, L2C or L5 navigation data
Answer
  1. Go to menu [Options-->General Options]
  2. Enable "Dump navigation data"
  3. Run the scenario (normal speed or turbo speed)
  4. 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)
     
  5. 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