A specific example occurred in the file:
Below is a snippet around the relevant point within the file; the out-of-sequence event is indicated.
TIME MJF MNF SUB_MJF CLKTICKS 5.249176299255712E+07 33017 71 0 129245 5.249176300672899E+07 33017 71 0 130152 5.249176301444774E+07 33017 71 0 130646 --> 5.249176507308844E+07 33017 72 1 131199 5.249176303101022E+07 33017 72 1 506
The best clue to the origin of the problem is the value of the number of clock ticks. The largest value that the hardware will generate when functioning normally is given by Tsf/Ttick - 1, where Tsf is the duration of a science frame (2.05 s) and Ttick is the length of one clock tick (15.625 µs). After this, the science header pulse is received by the HRC and this resets the number of clock ticks to zero and increments the sub-frame counter. This largest value is 131199 and is the number telemetered for the event indicated above. The out-of-sequence time is caused by the details of the timing within the HRC. If the sub-frame counter is incremented before the number of clock ticks is reset and an event just happens to occur sometime during the brief interval between these events, the hardware will generate an incorrect combination of timing information. This sequence is shown schematically in figure 1. The timing information supplied is not ``invalid'' (the combination could occur for some event) but it is incorrect for this event. It is only because the time tag on the subsequent event is earlier than this event that we can recognize that something is wrong.
The following algorithm can be used to correct the time tag of the CLKTICKS = 131199 events. If an event has a CLKTICKS value of 131199, compare the values of MJF, MNF, and SUB_MJF of the event to that of the next event. If the values are the same, set CLKTICKS of the first event to 0 and then calculate the time tag.
Dr. Michael Juda
Harvard-Smithsonian Center for Astrophysics
60 Garden Street, Mail Stop 70
Cambridge, MA 02138, USA
Ph.: (617) 495-7062
Fax: (617) 495-7356