{
  "id": 253001,
  "title": "RINEX file and SPAN NMEA file in the supplemental folder",
  "url": "/competitions/google-smartphone-decimeter-challenge/discussion/253001",
  "author_name": "Michael Fu",
  "post_date": "2021-07-14T15:46:35.449000",
  "votes": 8,
  "comment_count": 0,
  "views": 0,
  "content": "<p>These files are not necessary to understand and process for you to participate the competition. They are files following GNSS conventions and the GNSS community may find them useful.  </p>\n<p><strong>supplemental/DEVICE_NAME_GnssLog.YYo</strong><br>\n    A text file of GNSS measurements on DEVICE_NAME, collected from Android APIs (same as the \"Raw\" messages above), and then converted into RINEX v3.03 format. YY refers to the last two digits of the year. During the conversion, the following treatments are taken to comply with the RINEX format. Essentially, this file contains a subset of information in the DEVICE_NAME_GnssLog.txt. </p>\n<ol>\n<li><p>The epoch time (in GPS time scale as per RINEX standard) is computed from TimeNanos - (FullBiasNanos + BiasNanos), and then floored to the 100-nanosecond level to meet the precision requirement of the RINEX epoch time. The sub-100-nanosecond part has been wiped out by subtracting the raw pseudorange by the distance equivalent, and by subtracting the carrier phase range by the product of pseudorange rate and the sub-100-nanosecond part.</p></li>\n<li><p>An epoch of measurements will not be converted to RINEX, if any of the following conditions occurs: a) the BiasUncertaintyNanos is larger or equal than 1E6, b) GnssClock values are invalid, e.g. FullBiasNanos is not a meaningful number.</p></li>\n<li><p>Pseudorange value will not be converted if any of the following conditions occurs: </p>\n<ul>\n<li>STATE_CODE_LOCK (for non-GAL E1) or STATE_GAL_E1BC_CODE_LOCK (for GAL E1)  is not set, </li>\n<li>STATE_TOW_DECODED and STATE_TOW_KNOWN are not set for non-GLO signals,</li>\n<li>STATE_GLO_TOD_DECODED and STATE_GLO_TOD_KNOWN are not set for GLO signals, </li>\n<li>CN0 is less than 20 dB-Hz, </li>\n<li>ReceivedSvTimeUncertaintyNanos is larger than 500 nanoseconds, </li>\n<li>Carrier frequency is out of nominal range of each band.</li></ul></li>\n<li><p>Loss of lock indicator (LLI) is set to 1 if ADR_STATE_CYCLE_SLIP is set, or 2 if ADR_STATE_HALF_CYCLE_REPORTED is set and ADR_STATE_HALF_CYCLE_RESOLVED is not set, or blank if ADR_STATE_VALID is not set or ADR_STATE_RESET is set, or 0 otherwise.</p></li>\n</ol>\n<p><strong>supplemental/SPAN_DEVICE_NAME_10Hz.nmea</strong><br>\n  A text file of WGS84 ground truth positions in the NMEA (National Marine Electronics Association) 0183 format. Specifically, a position at one epoch is described by both the GGA and the RMC sentences defined in the NMEA format. There are 10 samples every second, i.e. 10Hz. The<br>\nground truth position refers to the geometric center of the DEVICE_NAME. Example interpretation is provided in Matlab via the NmeaUtils scripts released by Android GPS team. The reference locations were collected by the NovAtel SPAN ISA-100C unit.</p>",
  "messages": [
    {
      "id": 1388024,
      "postDate": "2021-07-14T15:46:35.450Z",
      "content": "<p>These files are not necessary to understand and process for you to participate the competition. They are files following GNSS conventions and the GNSS community may find them useful.  </p>\n<p><strong>supplemental/DEVICE_NAME_GnssLog.YYo</strong><br>\n    A text file of GNSS measurements on DEVICE_NAME, collected from Android APIs (same as the \"Raw\" messages above), and then converted into RINEX v3.03 format. YY refers to the last two digits of the year. During the conversion, the following treatments are taken to comply with the RINEX format. Essentially, this file contains a subset of information in the DEVICE_NAME_GnssLog.txt. </p>\n<ol>\n<li><p>The epoch time (in GPS time scale as per RINEX standard) is computed from TimeNanos - (FullBiasNanos + BiasNanos), and then floored to the 100-nanosecond level to meet the precision requirement of the RINEX epoch time. The sub-100-nanosecond part has been wiped out by subtracting the raw pseudorange by the distance equivalent, and by subtracting the carrier phase range by the product of pseudorange rate and the sub-100-nanosecond part.</p></li>\n<li><p>An epoch of measurements will not be converted to RINEX, if any of the following conditions occurs: a) the BiasUncertaintyNanos is larger or equal than 1E6, b) GnssClock values are invalid, e.g. FullBiasNanos is not a meaningful number.</p></li>\n<li><p>Pseudorange value will not be converted if any of the following conditions occurs: </p>\n<ul>\n<li>STATE_CODE_LOCK (for non-GAL E1) or STATE_GAL_E1BC_CODE_LOCK (for GAL E1)  is not set, </li>\n<li>STATE_TOW_DECODED and STATE_TOW_KNOWN are not set for non-GLO signals,</li>\n<li>STATE_GLO_TOD_DECODED and STATE_GLO_TOD_KNOWN are not set for GLO signals, </li>\n<li>CN0 is less than 20 dB-Hz, </li>\n<li>ReceivedSvTimeUncertaintyNanos is larger than 500 nanoseconds, </li>\n<li>Carrier frequency is out of nominal range of each band.</li></ul></li>\n<li><p>Loss of lock indicator (LLI) is set to 1 if ADR_STATE_CYCLE_SLIP is set, or 2 if ADR_STATE_HALF_CYCLE_REPORTED is set and ADR_STATE_HALF_CYCLE_RESOLVED is not set, or blank if ADR_STATE_VALID is not set or ADR_STATE_RESET is set, or 0 otherwise.</p></li>\n</ol>\n<p><strong>supplemental/SPAN_DEVICE_NAME_10Hz.nmea</strong><br>\n  A text file of WGS84 ground truth positions in the NMEA (National Marine Electronics Association) 0183 format. Specifically, a position at one epoch is described by both the GGA and the RMC sentences defined in the NMEA format. There are 10 samples every second, i.e. 10Hz. The<br>\nground truth position refers to the geometric center of the DEVICE_NAME. Example interpretation is provided in Matlab via the NmeaUtils scripts released by Android GPS team. The reference locations were collected by the NovAtel SPAN ISA-100C unit.</p>",
      "rawMarkdown": "These files are not necessary to understand and process for you to participate the competition. They are files following GNSS conventions and the GNSS community may find them useful.  \n\n**supplemental/DEVICE_NAME_GnssLog.YYo**\n    A text file of GNSS measurements on DEVICE_NAME, collected from Android APIs (same as the \"Raw\" messages above), and then converted into RINEX v3.03 format. YY refers to the last two digits of the year. During the conversion, the following treatments are taken to comply with the RINEX format. Essentially, this file contains a subset of information in the DEVICE_NAME_GnssLog.txt. \n\n1. The epoch time (in GPS time scale as per RINEX standard) is computed from TimeNanos - (FullBiasNanos + BiasNanos), and then floored to the 100-nanosecond level to meet the precision requirement of the RINEX epoch time. The sub-100-nanosecond part has been wiped out by subtracting the raw pseudorange by the distance equivalent, and by subtracting the carrier phase range by the product of pseudorange rate and the sub-100-nanosecond part.\n\n2. An epoch of measurements will not be converted to RINEX, if any of the following conditions occurs: a) the BiasUncertaintyNanos is larger or equal than 1E6, b) GnssClock values are invalid, e.g. FullBiasNanos is not a meaningful number.\n\n3. Pseudorange value will not be converted if any of the following conditions occurs: \n  - STATE_CODE_LOCK (for non-GAL E1) or STATE_GAL_E1BC_CODE_LOCK (for GAL E1)  is not set, \n  - STATE_TOW_DECODED and STATE_TOW_KNOWN are not set for non-GLO signals,\n  - STATE_GLO_TOD_DECODED and STATE_GLO_TOD_KNOWN are not set for GLO signals, \n  - CN0 is less than 20 dB-Hz, \n  - ReceivedSvTimeUncertaintyNanos is larger than 500 nanoseconds, \n  - Carrier frequency is out of nominal range of each band.\n\n4. Loss of lock indicator (LLI) is set to 1 if ADR_STATE_CYCLE_SLIP is set, or 2 if ADR_STATE_HALF_CYCLE_REPORTED is set and ADR_STATE_HALF_CYCLE_RESOLVED is not set, or blank if ADR_STATE_VALID is not set or ADR_STATE_RESET is set, or 0 otherwise.\n\n**supplemental/SPAN_DEVICE_NAME_10Hz.nmea**\n  A text file of WGS84 ground truth positions in the NMEA (National Marine Electronics Association) 0183 format. Specifically, a position at one epoch is described by both the GGA and the RMC sentences defined in the NMEA format. There are 10 samples every second, i.e. 10Hz. The\nground truth position refers to the geometric center of the DEVICE_NAME. Example interpretation is provided in Matlab via the NmeaUtils scripts released by Android GPS team. The reference locations were collected by the NovAtel SPAN ISA-100C unit.",
      "votes": 8
    }
  ],
  "comments": [],
  "raw_markdown_by_id": {
    "1388024": "These files are not necessary to understand and process for you to participate the competition. They are files following GNSS conventions and the GNSS community may find them useful.  \n\n**supplemental/DEVICE_NAME_GnssLog.YYo**\n    A text file of GNSS measurements on DEVICE_NAME, collected from Android APIs (same as the \"Raw\" messages above), and then converted into RINEX v3.03 format. YY refers to the last two digits of the year. During the conversion, the following treatments are taken to comply with the RINEX format. Essentially, this file contains a subset of information in the DEVICE_NAME_GnssLog.txt. \n\n1. The epoch time (in GPS time scale as per RINEX standard) is computed from TimeNanos - (FullBiasNanos + BiasNanos), and then floored to the 100-nanosecond level to meet the precision requirement of the RINEX epoch time. The sub-100-nanosecond part has been wiped out by subtracting the raw pseudorange by the distance equivalent, and by subtracting the carrier phase range by the product of pseudorange rate and the sub-100-nanosecond part.\n\n2. An epoch of measurements will not be converted to RINEX, if any of the following conditions occurs: a) the BiasUncertaintyNanos is larger or equal than 1E6, b) GnssClock values are invalid, e.g. FullBiasNanos is not a meaningful number.\n\n3. Pseudorange value will not be converted if any of the following conditions occurs: \n  - STATE_CODE_LOCK (for non-GAL E1) or STATE_GAL_E1BC_CODE_LOCK (for GAL E1)  is not set, \n  - STATE_TOW_DECODED and STATE_TOW_KNOWN are not set for non-GLO signals,\n  - STATE_GLO_TOD_DECODED and STATE_GLO_TOD_KNOWN are not set for GLO signals, \n  - CN0 is less than 20 dB-Hz, \n  - ReceivedSvTimeUncertaintyNanos is larger than 500 nanoseconds, \n  - Carrier frequency is out of nominal range of each band.\n\n4. Loss of lock indicator (LLI) is set to 1 if ADR_STATE_CYCLE_SLIP is set, or 2 if ADR_STATE_HALF_CYCLE_REPORTED is set and ADR_STATE_HALF_CYCLE_RESOLVED is not set, or blank if ADR_STATE_VALID is not set or ADR_STATE_RESET is set, or 0 otherwise.\n\n**supplemental/SPAN_DEVICE_NAME_10Hz.nmea**\n  A text file of WGS84 ground truth positions in the NMEA (National Marine Electronics Association) 0183 format. Specifically, a position at one epoch is described by both the GGA and the RMC sentences defined in the NMEA format. There are 10 samples every second, i.e. 10Hz. The\nground truth position refers to the geometric center of the DEVICE_NAME. Example interpretation is provided in Matlab via the NmeaUtils scripts released by Android GPS team. The reference locations were collected by the NovAtel SPAN ISA-100C unit."
  }
}