SYSTEM TIME MANAGEMENT


GEOSAT TIME MANAGEMENT

The GFO satellite outputs a measure of time onboard the satellite as part of Doppler beacon payload.  The onboard satellite time is corrected on the ground to yield an altimeter measurement time for the GFO in a manner similar to the original GEOSAT which utilized a Time Management Unit (TMU) in the APL/JHU ground station.


THE TIME MANAGEMENT "Ratio" PARAMETER

The Doppler Beacon stable oscillator provides the frequency reference for the altimeter and the Vehicle Time Code Word (VTCW) that is used to time tag the data. The frequency of this oscillator and therefore the VTCW clock rate (nominally 1E6 ticks/sec) were initially offset +80 ppm from its nominal value but have drifted with respect to this nominal offset throughout the mission.

The GFO ground system tracks the drift in the stable oscillator offset by measuring the drift in the VTCW. A "Ratio" parameter is defined as the VTCW tick interval, the number of seconds per VTCW tick:

Ratio sec/tick = 1 sec / (1E6 ticks * (1+oscillator offset))

The initial factory setting produces:

Ratio = 1 / (1E6 * (1+80E-6)) = 0.99992E-6 sec/tick

The nominal altimeter timing intervals e.g., the 980 microsecond intervals between measurements, are stated at the nominal clock frequency. The real clock is running faster and so the interval must be reduced by the same (nominally) 80 ppm:

real interval = nominal interval / (1+80E-6) sec

or because of the drift measured by the ratio parameter above, the interval is given exactly by:

measured interval = nominal interval * Ratio * 1E6 sec


TIME BIAS

The parameter Time Bias (initial), included as field 18 in the SDR header, is provided to allow GDR producers and Cal/Val SDR file users to correct time. The bias is a measured parameter, determined from crossovers and collinear differences. (Note: If this bias is given in satellite time then it must be translated to ground [real] time by ratio*1E6 as shown above. For this and succeeding sections it is assumed that field 18 is already in real [ground] time.) The bias is applied to data product times as detailed in the following sections. The bias is multiplied by Ratio*1.0E6 in order to account for the offset of the VTCW clock as described in the previous section.

Each Cal/Val file record is labeled with one UTC word, call it UTC_CalVal. The user should apply the time bias as: UTC_CalVal_Biased = UTC_CalVal - Time_Bias_initial


SDR TIME

Each SDR record is labeled with one Universal Time Code (UTC) word, call it UTC_SDR. The record contains 10 height words, H[0], ..., H[9]. UTC_SDR is the time of H[0], corrected for instrument effects, that is, UTC SDR is the time the satellite is at height H[0]. As derived above, the 10/sec measurement interval is: 0.0980 * Ratio * 1.0E6 seconds, where Ratio (included as field 25 in the SDR Header) accounts for the measured offset of the spacecraft Vehicle Time Code Word (VTCW) from its nominal frequency, 1 MHz.

Time_Bias (initial), included as SDR header field 18, must be applied by the user:
UTC_SDR_Biased = UTC_SDR - Time_Bias_initial

The measurement time of height word H[i], call it UTC_H[i] is:
UTC_H[i] = UTC_SDR_Biased + (i*0.0980*Ratio*1.0E6) seconds
for i = 0, ...,9.

Any record can be time tagged by computing the number of seconds from the time epoch to the beginning of the SDR day (SDR Header field 5) and adding it to the biased record UTC time (time in seconds since midnight).


NGDR TIME

Each NGDR record is labeled with one UTC, call it UTC_NGDR. The record contains one Sea Surface H - Uncorrected height word, derived from the 10 SDR height words by averaging and applying instrument level corrections. These 10 height words are separated by 9 intervals so the measurement time of this word is determined from the corresponding SDR time as:


UTC_NGDR = UTC_SDR + (4.5*0.0980)*Ratio*1.0E6 - Time_Bias_initial.

(Note: By convention the time of the SSH-height word is taken to be the time of the midpoint of the 9 SDR height word intervals.)


SPACECRAFT TO SDR TIME MANAGEMENT

a) VTCW Timing Reference

The Vehicle Time Code Word (VTCW) is the key element of all critical timing functions performed on the GFO spacecraft. The VTCW is a 48 bit ripple counter that is driven by the ultra-stable oscillator in the Doppler Beacon that also drives the altimeter. The VTCW system includes circuits that allow multiple software functions (users) to latch and read the current value of the VTCW. The VTCW is a counter, not a clock.

b) Altimeter Time Tag

When the altimeter outputs a data packet, the VTCW is latched on the leading edge of the "enable" signal, and is appended to the altimeter data.

d) Generating The Spacecraft Clock Correlation File

Software at NAVSOC operates on the telemetry packets and correlates the VTCW counter with UTC (derived from a ground based GPS Receiver). A Spacecraft Clock Correlation file (SCC.dat) is generated that provides the slope and offset needed to convert VTCW to UTC. The file is transmitted to the POCC for SDR generation.

Conceptually, given two UTC times and two corresponding VTCW counter values from the GPS telemetry data, one can determine the ratio derived above as a linear fit:

Ratio = (UTC_2 - UTC_1) / (VTCW_2 - VTCW_1) in UTC sec/VTCW ticks

The SCC.dat file generated contains the Ratio and one UTC_SCC, VTCW_SCC pair, allowing the UTC time for any VTCW to be determined:

UTC = (Ratio * (VTCW-VTCW_SCC) + UTC_SCC) sec

The SCC.dat data used for generating the SDR are included in the SDR Header. For example, a day 98073 SDR Header would have parameters:

UTC year (field 20) = 1998
UTC doy (field 21) = 073
UTC sec (field 23) = 81053.126000
VTCW (field 24) = 742452500.00
Ratio (field 25) = 9.9992E-7

Note that the above Ratio reflects exactly the factory value, the field would have the actual value.

The NAVSOC software implementation for the SCC.dat generation uses a circular file that can hold a maximum of 43,997 UTC/VTCW pairs. Ratio is determined by a linear fit to the available points corrected for telemetry noise. A minimum of three points is required. The earliest VTCW/UTC pair is included in the SCC.dat file and is the base time in this file.

e) Altimeter Range From Time Delay

The GFO altimeter tracks the radar time delay, tau, with a closed loop adaptive algorithm. If the altimeter transmitted a pulse and waited for the return from the surface, the resulting surface time delay, call it tau_surface, would be a direct measure of the range to the surface. In order to increase the ocean sampling rate and reduce height noise, the radar has five pulses in the air at any time, and measures the delay between the most recent pulse generated and the next pulse received (generates 5 pulse intervals ago), call it tau_transmit_receive, and the true range is computed by the SDR software on the ground.

The tracking algorithm operates by first producing a pair of chirp start timing pulses. The first pulse generates the RF transmit chirp (TX_NEW), the second generates the RF LO chirp (RX_NEW) that is mixed with a TX chirp from an earlier chirp pair (TX_OLD), that is returning from the oceans surface. The tracker adjusts the timing between the leading edges of TX_NEW and RX_NEW so that so that RX_NEW aligns with TX_OLD. The time between the leading edges of TX_NEW and RX_NEW (tau_transmit_receive) is output to the spacecraft telemetry system.

In order to compute the actual measurement time, that is, the time when the satellite was at the measured range value, three time corrections must be applied to the time associated with this VTCW:

  1. Spacecraft Time Stamp Delay - The time difference between when the altimeter sends tau_transmit_receive to the spacecraft and when the VTCW is applied.
  2. Altimeter Hardware/Software Time Delay - Corrects for fixed time delays, the fact that the altimeter is truly at that height half way through the pulse width, and overcompensation of the measured time delay.
  3. Range Travel Delay - Back out the TX_OLD chirp travel time to recover the surface delay, tau_surface used to compute the actual height.

The corrections are applied in SDR processing with the equations presented in the following section.

f) SDR Calculation of Data Record Time and Altimeter Height

The following algorithms are used by the SDR software at the POCC to compute altimeter height and data record time:

Each altimeter, WVR, and ancillary sample received at the POC contains a 48 bit VTCW. The VTCW is converted into UTC by using the contents of the satellite clock correlation (scc.dat) file. The process used to convert the VTCW to UTC is:

sample.utc = (clock.ratio * (sample.vtcw - clock.vtcw_value) ) + clock.utc_seconds

where:
clock.ratio is from SCC.dat
clock.utc_seconds is from SCC.dat
clock.vtcw_value is from SCC.dat
sample.utc is converted UTC
sample.vtcw is the data sample VTCW

The radar altimeter supplies the Spacecraft Integrated Avionics Processor (S/C IAP) a height word at a regular interval. The S/C IAP assigns a time stamp to that height word some period of time after receiving it. The time tag issue defines the amount of time between the assigned height word time tag and the actual time the satellite was at that particular height. The following process is used to determine when the GFO satellite was at the measured range value:

  1. Surface Range Computation:

tau_transmit_receive = sample.raw_hgt * ecu.hgt_lsb * 1.0E-6

where:

surface_range = (((tau_transmit_receive+0.0049) * C) * clock.ratio * 1E6) / 2.0

where:

  1. Sample UTC Computation:

sample.utc = sample.utc_uncorrected - spacecraft_time_stamp_delay

- altimeter_hardware_software_time_delay - range_travel_delay

+ (0.0735-51.2E-6)*clock.ratio*1E6


where:

Combining terms we have:

sample.utc = sample.utc_uncorrected - spacecraft_time_stamp_delay

+ surface_range/C - 0.0783488*clock.ratio*1E6


--- return to Calibration and Validation page ---