Seasat – Technical Challenges – 1. Raw Telemetry

Seasat was not equipped with an onboard recorder, so in order to collect data during the mission, three U.S. and two international ground stations downlinked data from the satellite in real time: Fairbanks, Alaska; Goldstone, California; Merritt Island, Florida; Shoe Cove, Newfoundland; and Oakhanger, United Kingdom.

The data were originally archived on 39-track raw data tapes. Years later, to ensure the preservation of the data, those tapes were duplicated in 1988 and again in 1999. During the second transcription, the raw telemetry data were transferred onto 29, more modern SONY SD1-1300L 19-mm tapes. It is from these 13-year-old tapes that ASF’s online Seasat archive was obtained.

An off-the-shelf SAR processor was not available to decode or process Seasat raw telemetry data. However, ASF was able to use the Vexcel product SyncPrep to byte-align the data captured from disk, validate that the data appeared to be Seasat SAR data and estimate the bit error rate (BER) of the data. The BER provided insight into how much of the original SAR data could be processed to products and how difficult that process would be.

In the initial analysis of a 14 GB raw telemetry file, SyncPrep reported bit error rates as high as 0.4, or as many as 1 bit in 2.5 bits in error. This extreme level of “bit rot” persists for much of the Seasat archives and initially seemed to make much of the data unusable. Only through concerted efforts over the course of a year were approximately 90 percent of the Seasat SAR data able to be recovered.

1.1 Minor Frames and Range Lines

The commercial product SyncPrep, used for much of the raw data ingest at ASF, does not decode Seasat telemetry. So while SyncPrep will analyze the data, it will not actually decode metadata or create the range lines needed for focusing the raw data into SAR imagery. Accordingly, a decoder for Seasat raw signal data had to be developed at ASF. First, though, an understanding of the telemetry data format was required.

According to the Interface Control Document for Seasat, the telemetry stream is organized into repeated 1,180-bit telemetry packets, referred to as minor frames. Each minor frame begins with 40 bits of metadata followed by 1,140 bits of payload. The exact subdivision of the minor frames is diagramed below:

Seasat Raw Telemetry Format: Seasat minor frames are comprised of a 24-bit sync code, a 1-bit fill flag, a 7-bit frame number, 8 bits for time and status, and 1,140 bits of payload. The sync code signifies the beginning of each minor frame. The fill flag is supposed to be 1 when no valid data is being sent, 0 if the payload is valid. The frame number allows for sequencing of minor frames and the creation of range lines from them. The time and status bits encode several metadata fields. Finally, the payload contains the actual data samples recorded by the satellite.

Seasat Raw Telemetry Format: Seasat minor frames are comprised of a 24-bit sync code, a 1-bit fill flag, a 7-bit frame number, 8 bits for time and status, and 1,140 bits of payload. The sync code signifies the beginning of each minor frame. The fill flag is supposed to be 1 when no valid data is being sent, 0 if the payload is valid. The frame number allows for sequencing of minor frames and the creation of range lines from them. The time and status bits encode several metadata fields. Finally, the payload contains the actual data samples recorded by the satellite.

The payload in each minor frame is only 1,140 bits. A complete range line of Seasat data consists of the payload from 60 minor frames, each of which contains 228 samples of 5 bits each. So, in order to form range lines from the telemetry data, the payloads from up to 60 minor frames needed to be combined.

Each minor frame number 0 denotes the start of a range line. Minor frame numbers then increase until the start of the next range line, when they are reset to 0.

Aside: Determining Data Size

The pulse repetition frequency (PRF) Rate Code and the Bits Per Sample are required in order to determine the number of minor frames per range line. Seasat had four PRF rate codes: 1: 1464 Hz, 2: 1540 Hz, 3: 1581 Hz, and 4: 1647 Hz. For the entire mission, Seasat stayed with a PRF rate code of 4 and a Bits Per Sample of 5. This should result in 60 to 69 minor frames per range line according to the platform specifications. ASF engineers found that no range line had more than 60 minor frames; they always had either 59 or 60 minor frames. Thus, the output range lines were sized using:

                  60 minor frames * 1,140 bits/frame * 1 sample/5 bits = 13,680 samples

Thus, 13,680 should be the final size of a single range line once it is decoded into byte samples. For each such range line created, a set of 18 metadata values are also generated.

Range Line Creation: Creation of a single range line of data requires combining the payload from up to 60 minor frames in order. The 228 samples from minor frame 0 go into the output range line first, followed by the 228 samples from minor frame 1, those from minor frame 2, etc., until all minor frames for this range line have been unpacked. When only 59 frames are in a range line, the remaining 13,680 samples of output for that range line are set to zero. Concurrent with data sample unpacking, image metadata from the Time and Status bits in the first 10 minor frames are decoded and stored.

Range Line Creation: Creation of a single range line of data requires combining the payload from up to 60 minor frames in order. The 228 samples from minor frame 0 go into the output range line first, followed by the 228 samples from minor frame 1, those from minor frame 2, etc., until all minor frames for this range line have been unpacked. When only 59 frames are in a range line, the remaining 13,680 samples of output for that range line are set to zero. Concurrent with data sample unpacking, image metadata from the Time and Status bits in the first 10 minor frames are decoded and stored.

1.2 Subcommutated Header Fields

The time and status bits encode 18 metadata fields subcommutated in the first 10 minor frames of each range line, i.e. each of these fields need to be created using certain bits from certain numbered minor frames. For example, the Last Digit of Year can be found in bits 33-36 of minor frame 0, giving a range of values from 0-15. Of course, this field should always be 8, as 1978 was the year Seasat was in operation.

The metadata field Day of Year must be created using bits 33-37 of minor frame 4 as the lower-order 5 bits, and bits 37-40 of minor frame 5 as the higher order 4 bits, giving a 9-bit value. Similarly, the MSEC of Day field is 27 bits long and constructed from all or parts of the time and status bytes from minor frames 1-4. The following table shows how each of the 18 metadata fields were created.

Time and Status Byte: Locations of subcommutated metadata values. Only minor frames 0 through 9 contain valid time and status words; in all other minor frames, the time and status word is unused.

Time and Status Byte: Locations of subcommutated metadata values. Only minor frames 0 through 9 contain valid time and status words; in all other minor frames, the time and status word is unused.

Metadata Field Definition Type Notes
Station Code Signifies which ground station collected the data during the mission Constant 5: Fairbanks, AK; 6: Goldstone, CA; 7: Merrit Island, FL; 9: Oak Hangar, United Kingdom; 10: Shoe Cove, Newfoundland.
Last Digit of Year Last digit of the year Constant Should always be 8, since the mission was in 1978
Day of Year Julian day of the year Rarely Since no datatakes could possibly be more than a day, this value will change at most once in a datatake.
MSEC of Day Millisecond of the day Linear Should change consistently throughout a datatake
Clock Drift Timing offset in spacecraft clock Curve Must be added to the other times in order to get proper spacecraft locations
No Scan Indicator Unused Bit Field Unused
Bits Per Sample Number of bits per data sample Constant Throughout the mission, this value was always 5
MFR Lock Bit Unused Bit Field Unused
PFR Rate Code Pulse Repetition Frequency Code Constant Throughout the mission this value was always 4, denoting a PRF of 1647 Hz
Delay to Digitization Delay between sending pulses and when pulses are listened for Rarely Used to calculate the slant range to the first pixel in a datatake
SCU Bit Unused Bit Field Unused
SDF Bit Unused Bit Field Unused
ADC Bit Unused Bit Field Unused
Time Gate Bit Unused Bit Field Unused
Local PRF Bit Unused Bit Field Unused
Auto PRF Bit Unused Bit Field Unused
PRF Lock Bit Unused Bit Field Unused
Local Delay Bit Unused Bit Field Unused

Metadata Fields in the Raw Data: Eighteen fields of metadata can be decoded for each range line created during decoding. There are 10 bit fields, four fields that should be constant for a datatake, two fields that should change rarely, and two fields that should change steadily.

Written by Tom Logan, July 2013