NOTE = " Notes on full-resolution Galileo PWS LRS archival format The Galileo PWS full-resolution LRS data are organized into the following archival format for ease of use. Each 600-byte fixed-length record contains data from available minor frames in a 28-minor-frame instrument cycle. During this cycle, all available frequencies are sampled and two snapshots of waveform data are taken. Items named 'validity flags' are derived from the 8-bit data quality (DQ) word in the PWS minor frame which contains even parity bits corresponding to the associated data items. Start times and spacecraft clocks correspond to the beginning of the interval and not necessarily to the time of the first valid data. All multi-byte binary items are 'big-endian' or high-byte-first unless noted otherwise. Bits are numbered starting with 0 as the least significant (lowest order or rightmost) bit up to 7 as the most significant (highest order or leftmost) bit for 8-bit bytes or, for example, up to 31 for 4-byte binary items." /* NOTE = "HEADER SECTION, 44 bytes" */ OBJECT = COLUMN NAME = SPACECRAFT_ID COLUMN_NUMBER = 1 DATA_TYPE = CHARACTER START_BYTE = 1 BYTES = 3 DESCRIPTION = "'GO ' for Galileo Orbiter" END_OBJECT = COLUMN OBJECT = COLUMN NAME = INSTRUMENT_ID COLUMN_NUMBER = 2 DATA_TYPE = CHARACTER START_BYTE = 4 BYTES = 4 DESCRIPTION = "'PWS ' for Plasma Wave Subsystem" END_OBJECT = COLUMN OBJECT = COLUMN NAME = SCET_START_TIME COLUMN_NUMBER = 3 DATA_TYPE = CHARACTER START_BYTE = 8 BYTES = 24 DESCRIPTION = " SCET of the beginning of the interval (28 minor-frame cycle) in PDS time format, e.g. '1996-06-27T00:00:00.000Z'. The last character is ASCII NULL '\0' (binary zero)." END_OBJECT = COLUMN OBJECT = COLUMN NAME = SCLK COLUMN_NUMBER = 4 DATA_TYPE = MSB_BIT_STRING START_BYTE = 33 BYTES = 4 DESCRIPTION = "SCLK is composed of a 24 bit major frame counter (RIM) and an 8 bit minor frame counter." OBJECT = BIT_COLUMN NAME = SCLK_RIM BIT_DATA_TYPE = MSB_UNSIGNED_INTEGER START_BIT = 1 BITS = 24 DESCRIPTION = "3-byte binary SCLK RIM count (24-bit unsigned range: 0 - 16777215)." END_OBJECT = BIT_COLUMN OBJECT = BIT_COLUMN NAME = MINOR_FRAME_COUNT BIT_DATA_TYPE = MSB_UNSIGNED_INTEGER START_BIT = 25 BITS = 8 DESCRIPTION = "1-byte binary SCLK minor frame count (modulo 91 counter: 0 - 90)." END_OBJECT = BIT_COLUMN END_OBJECT = COLUMN OBJECT = COLUMN NAME = SPARE1 COLUMN_NUMBER = 5 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 37 BYTES = 2 END_OBJECT = COLUMN OBJECT = COLUMN NAME = SCET_DAY_OF_EPOCH COLUMN_NUMBER = 6 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 39 BYTES = 2 DESCRIPTION = "2-byte binary days since January 1, 1958." END_OBJECT = COLUMN OBJECT = COLUMN NAME = SCET_MILLISECOND_OF_DAY COLUMN_NUMBER = 7 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 41 BYTES = 4 DESCRIPTION = " 4-byte binary millisecond of day (0 - 86401999, for 2 leap-seconds)." END_OBJECT = COLUMN /* NOTE = "TIME-ORDERED STATUS SECTION, 52 bytes" */ OBJECT = COLUMN NAME = MINOR_FRAME_PRESENCE_FLAGS COLUMN_NUMBER = 8 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 45 BYTES = 4 DESCRIPTION = " Minor frame presence is indicated by a 1 in the corresponding bit position. For example, hexadecimal value 00000001 indicates only the first minor frame is present, while 08000000 indicates that only minor frame 28 is present, and 0FFFFFFF indicates that all 28 minor frames are present." END_OBJECT = COLUMN OBJECT = COLUMN NAME = ANTENNA_SWITCH_FLAGS COLUMN_NUMBER = 9 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 49 BYTES = 4 DESCRIPTION = " The antenna switch position is logged for each minor frame and stored in a bit position corresponding to the minor frame modulo 28 counter, as in the previous item. Normally this will be hexadecimal 00000000 for all electric field minor frames or 0FFFFFFF for all magnetic field minor frames." END_OBJECT = COLUMN OBJECT = COLUMN NAME = COMMAND_WORDS COLUMN_NUMBER = 10 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 53 BYTES = 1 ITEMS = 7 DESCRIPTION = " Array of 7 8-bit command words obtained during the 28-minor-frame cycle. A complete 8-bit command word is obtained for each 4 consecutive minor frames: Bits 7 and 6 are obtained during the first minor frame, bits 5 and 4 during the second minor frame, bits 3 and 2 during the third minor frame, and bits 1 and 0 during the fourth minor frame. The bits are specified as follows: +---+---+---+---+---+---+-------+ | 7 | 6 | 5 | 4 | 3 | 2 | 1 0 | PWS 8-bit command word +---+---+---+---+---+---+-------+ bit description bit = 0 bit = 1 --- -------------------------- ------------- ----------- 7 waveform command enable inhibit 6 sa antenna switch e/b electric magnetic 5 sa antenna switch cyc/inh cycle inhibit 4 calibration inhibit enable 3 waveform select electric magnetic 2 waveform power on off 1-0 2-bit waveform receiver mode (0-3) where 00 = waveform survey (alternating 1 kHz and 10 kHz snapshots) 01 = 25200 4-bit samples per second (50 Hz - 10 kHz mode) 10 = 201600 4-bit samples per second (80 kHz mode) 11 = 3150 4-bit samples per second (5 Hz - 1 kHz mode)" END_OBJECT = COLUMN OBJECT = COLUMN NAME = WBR_AGC COLUMN_NUMBER = 11 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 60 BYTES = 1 ITEMS = 7 DESCRIPTION = " Array of 7 8-bit WBR automatic gain control (AGC) Indicates gain of wideband receiver. Can be used to calibrate WBR data. Relative to the beginning of the record, (28-minor-frame interval), the individual AGC sample times occur at -0.467s (-7 RTI) and every 2.667s (40 RTI) thereafter (where an RTI is one tenth of the minor frame interval)." END_OBJECT = COLUMN OBJECT = COLUMN NAME = PS_MONITOR COLUMN_NUMBER = 12 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 67 BYTES = 1 ITEMS = 7 DESCRIPTION = " Array of 7 8-bit power supply monitor (PS MON) Indicates health of instrument. Nominal value is 204 +/- 2. Relative to the beginning of the record, (28-minor-frame interval), the individual Power Supply Monitor (PS MON) sample times occur at +2.0s (+3 RTI) and every 2.667s (40 RTI) thereafter (where an RTI is one tenth of the minor frame interval)." END_OBJECT = COLUMN OBJECT = COLUMN NAME = ADC_REF_8 COLUMN_NUMBER = 13 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 74 BYTES = 1 ITEMS = 7 DESCRIPTION = " Array of 7 8-bit '8-bit ADC REF'. Indicates health of 8-bit analog-to-digital converter. Nominal value is 55 +/- 2. Relative to the beginning of the record, (28-minor-frame interval), the individual '8-bit ADC REF' sample occurs at +0.867s (+13 RTI) and every 2.667s (40 RTI) thereafter (where an RTI is one tenth of the minor frame interval)." END_OBJECT = COLUMN OBJECT = COLUMN NAME = ADC_REF_4 COLUMN_NUMBER = 14 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 81 BYTES = 1 ITEMS = 7 DESCRIPTION = " Array of 7 8-bit '4-bit ADC REF'. Indicates health of 4-bit analog-to-digital converter. Nominal value is 102 +/- 2. Relative to the beginning of the record, (28-minor-frame interval), the individual '4-bit ADC REF' sample occurs at +1.533s (+23 RTI) and every 2.667s (40 RTI) thereafter (where an RTI is one tenth of the minor frame interval)." END_OBJECT = COLUMN OBJECT = COLUMN NAME = ENG_STATUS_FLAGS COLUMN_NUMBER = 15 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 88 BYTES = 1 ITEMS = 7 DESCRIPTION = " Array of 7 8-bit analog engineering status validity flags. Four flags are present in each byte. +---+---+---+---+---+---+---+---+ | x | x | x | x | 3 | 2 | 1 | 0 | Analog Eng validity flags +---+---+---+---+---+---+---+---+ bit description bit = 0 bit = 1 --- ------------------------ ------------- ------------ 3 4-bit ADC REF flag invalid valid 2 8-bit ADC REF flag invalid valid 1 PS MON flag invalid valid 0 AGC flag invalid valid" END_OBJECT = COLUMN OBJECT = COLUMN NAME = FORMAT_ID COLUMN_NUMBER = 16 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 94 BYTES = 1 DESCRIPTION = " An 8-bit value giving the post-compression data rate. The targeted data rate determines a quantization factor in the compression algorithm. Also indicated is whether the packet is normal or continuation and whether or not the data was compressed. bit pattern description ------------ -------------------- xxxx0xxx Normal packet xxxx1xxx Continuation packet xxxxx000 3 bits per second xxxxx001 5 bits per second xxxxx010 10 bits per second xxxxx011 15 bits per second xxxxx100 20 bits per second xxxxx101 30 bits per second xxxxx110 40 bits per second 11111111 No compression" END_OBJECT = COLUMN OBJECT = COLUMN NAME = SPARE2 COLUMN_NUMBER = 17 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 96 BYTES = 1 END_OBJECT = COLUMN /* NOTE = "FREQUENCY-ORDERED STATUS SECTION, 28 bytes" */ OBJECT = COLUMN NAME = SPECTRUM_ANALYZER_FLAGS COLUMN_NUMBER = 18 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 97 BYTES = 1 ITEMS = 4 DESCRIPTION = " Array of 4 8-bit spectrum analyzer (SA) validity flags. Each of the 4 channels is sampled 7 times during the record. The validity of the first sample is indicated by bit 0, the second by bit 1, and so on up to the seventh sample by bit 6. A one bit indicates available data that passes the parity check. The four bytes contain flags for the four channels in increasing frequency order from the first channel at 5.62 Hz to the fourth channel at 31.1 Hz. +---+---+---+---+---+---+---+---+ | x | 6 | 5 | 4 | 3 | 2 | 1 | 0 | flag bit position +---+---+---+---+---+---+---+---+ 1 1 1 1 1 1 1 SA Channel 1 . . . +---+---+---+---+---+---+---+---+ | x | 6 | 5 | 4 | 3 | 2 | 1 | 0 | flag bit position +---+---+---+---+---+---+---+---+ 1 1 1 1 1 1 1 SA Channel 4" END_OBJECT = COLUMN OBJECT = COLUMN NAME = SFR_FLAGS COLUMN_NUMBER = 19 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 101 BYTES = 4 ITEMS = 4 DESCRIPTION = " Array of 4 32-bit sweep frequency receiver (SFR) validity flags. Each individual channel of the SFR is sampled only once during the record. These flags are grouped by filter bank of which there are four of 28 channels each, ordered by increasing frequency. The first 32-bit group contains validity flags for the lowest frequency bank, and the fourth 32-bit group contains flags for the highest frequencies. The flags are arranged in each 4-byte element (32-bit group) so that the lowest frequency is represented by bit 0 and the highest frequency by bit 27; hence the hexadecimal value 0FFFFFFF in an element indicates valid value for all 28 associated frequency channels. +---+---+---+---+---+ +---+ | x | x | x | x | 27| . . . | 0 | validity flag bit position +---+---+---+---+---+ +---+ 28 . . . 1 SFR Channels 1 - 28 . . . +---+---+---+---+---+ +---+ | x | x | x | x | 27| . . . | 0 | validity flag bit position +---+---+---+---+---+ +---+ 112 . . . 85 SFR Channels 85 - 112" END_OBJECT = COLUMN OBJECT = COLUMN NAME = HFR_FLAGS COLUMN_NUMBER = 20 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 117 BYTES = 4 ITEMS = 2 DESCRIPTION = " Array of 2 32-bit high frequency receiver (HFR) validity flags. The lowest 14 HFR channels are sampled twice each and the upper 28 channels are sampled once each during the record interval. The first 4-byte element contains pairs of flags for each of the lower 14 HFR channels and the second 4-byte element contains individual flags for each of the upper 28 HFR channels. A one bit indicates available data which passes the parity check. +---+---+---+---+---+---+ +---+---+ | x | x | x | x | 27| 26| . . . | 1 | 0 | flag bit position +---+---+---+---+---+---+ +---+---+ 14 14 . . . 1 1 HFR Channels 1 - 14 +---+---+---+---+---+---+ +---+---+ | x | x | x | x | 27| 26| . . . | 1 | 0 | flag bit position +---+---+---+---+---+---+ +---+---+ 42 41 . . . 16 15 HFR Channels 15 - 42" END_OBJECT = COLUMN /* NOTE = "LRS DATA SECTION, 196 bytes" */ OBJECT = COLUMN NAME = SA_SAMPLES COLUMN_NUMBER = 21 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 125 BYTES = 1 ITEMS = 28 DESCRIPTION = " Array of 28 8-bit spectrum analyzer (SA) uncalibrated samples. These consist of 7 time-ordered samples for channel 1 followed by 7 samples from channel 2, followed by 7 samples from channel 3, and finally 7 samples from channel 4. Relative to the beginning of the record (28-minor-frame interval), the sample times of the individual channels are: SA channel relative sample time (10 RTI per minor frame) ---------- ---------------------------------------------------- 1 +1.867s (+28 RTI), repeating every 2.667s (40 RTI) 2 +1.200s (+18 RTI), repeating every 2.667s (40 RTI) 3 +0.533s (+08 RTI), repeating every 2.667s (40 RTI) 4 -0.133s (-02 RTI), repeating every 2.667s (40 RTI)" END_OBJECT = COLUMN OBJECT = COLUMN NAME = SFR_SAMPLES COLUMN_NUMBER = 22 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 153 BYTES = 1 ITEMS = 112 DESCRIPTION = " Array of 112 8-bit sweep frequency receiver (SFR) uncalibrated samples. These are arranged from lowest to highest frequency channels. Relative to the beginning of the record (28-minor-frame interval), the sample times of the individual channels are: SFR channel relative sample time (10 RTI per minor frame) ----------- ----------------------------------------------------- 1+n, 29+n -0.133s + n*0.667s (-02 RTI + n RTI), for n = 0 .. 27 57+n, 85+n -0.467s + n*0.667s (-07 RTI + n RTI), for n = 0 .. 27" END_OBJECT = COLUMN OBJECT = COLUMN NAME = HFR_SAMPLES COLUMN_NUMBER = 23 DATA_TYPE = MSB_UNSIGNED_INTEGER START_BYTE = 265 BYTES = 1 ITEMS = 56 DESCRIPTION = " Array of 56 8-bit high frequency receiver (HFR) uncalibrated samples. The lowest 14 channels are repeated twice, followed by the upper 28 channels: 1, 1, 2, 2, . . ., 14, 14, 15, 16, . . ., 41, 42 Relative to the beginning of the record (28-minor-frame interval), the sample times of the individual channels are: HFR channel relative sample time (10 RTI per minor frame) ----------- -------------------------------------------------------- 1+n two samples at -0.133s + n*0.667s and +0.533s + n*2.667s (-02 RTI + n*40 RTI and +08 RTI + n*40 RTI) for n = 0 .. 6 8+n two samples at +1.200s + n*0.667s and +1.867s+ n*2.667s (+18 RTI + n*40 RTI and +28 RTI + n*40 RTI) for n = 0 .. 6 15+n -0.467s + n*2.667s (-07 RTI + n*40 RTI), for n = 0 .. 6 22+n +0.200s + n*2.667s (+03 RTI + n*40 RTI), for n = 0 .. 6 29+n +0.867s + n*2.667s (+13 RTI + n*40 RTI), for n = 0 .. 6 36+n +1.533s + n*2.667s (+23 RTI + n*40 RTI), for n = 0 .. 6" END_OBJECT = COLUMN /* NOTE = "WAVEFORM SAMPLE DATA SECTION, 280 bytes" */ OBJECT = COLUMN NAME = WAVEFORM_SAMPLES_0 COLUMN_NUMBER = 24 DATA_TYPE = MSB_BIT_STRING START_BYTE = 321 BYTES = 140 DESCRIPTION = " Array of 280 4-bit waveform samples collected from the first 14 minor frames of this record. This is a snapshot of contiguous samples. +---+---+---+---+---+---+---+---+ +---+---+---+---+ | 3 | 2 | 1 | 0 | 3 | 2 | 1 | 0 | . . . | 3 | 2 | 1 | 0 | +---+---+---+---+---+---+---+---+ +---+---+---+---+ sample 1, sample2, . . . sample 280 Relative to the beginning of the record (28-minor-frame interval), this waveform sample begins at -0.333s (-05 RTI)." OBJECT = BIT_COLUMN NAME = WAVEFORM_SAMPLE_0 START_BIT = 1 BITS = 4 BIT_DATA_TYPE = MSB_INTEGER ITEMS = 280 DESCRIPTION = "A single 4 bit element of the first waveform sample array." END_OBJECT = BIT_COLUMN END_OBJECT = COLUMN OBJECT = COLUMN NAME = WAVEFORM_SAMPLES_1 COLUMN_NUMBER = 25 DATA_TYPE = MSB_BIT_STRING START_BYTE = 461 BYTES = 140 DESCRIPTION = " Array of 280 4-bit waveform samples collected from the last 14 minor frames of this record. This is a snapshot of contiguous samples. Relative to the beginning of the record (28-minor-frame interval), this waveform sample begins at +9.000s (+135 RTI)." OBJECT = BIT_COLUMN NAME = WAVEFORM_SAMPLE_1 START_BIT = 1 BITS = 4 BIT_DATA_TYPE = MSB_INTEGER ITEMS = 280 DESCRIPTION = "A single 4 bit element of the second waveform sample array." END_OBJECT = BIT_COLUMN END_OBJECT = COLUMN