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.
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.
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.
|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