There is this thing called “Time Correlation” and questions about it pop up in work every now and then. I’m just now beginning to scratch the surface of what this thing is and thought that writing something down here and explaining it might help organize my thoughts and give a small glimpse of what this is.
Timestamping the things that happen on the spacecraft (e.g. execution of commands, transmission of data, instrument measurements, etc) is very important as one can imagine. It is not so simple as putting a normal (or even a very good quality) clock on-board because it is known that clocks drift from actual time every once in a while. This led someone to come up with a very simple scheme to determine more accurately the time on-board.
This scheme begins by having a simple counter on-board. We can think of this counter as a simple integer sequential counter that counts 1,2,3,4, etc. incrementally. This counter is sampled every N frames (think sequence of bytes if nothing else) that are sent by the spacecraft and a packet is created with the counter value.
At the ground, the reception time of the frame is recorded and associated with the counter value in a pair. By looking at several of these pairs and performing a correlation it becomes possible to convert the integers into actual UTC time.
Here’s the funny thing, the counter value is sampled at the exact moment one of this frames begins being transmitted. It is not possible to sample the counter and transmit at the same time (maybe because of the backlog queue of frames?). This means the sample value will be delivered later on a separated packet, one that is not included in the frame just transmitted. So what do we do? Since the counter is sampled every N frames we look into the previous Nth frame and its reception time on earth * and save it until we get the next sample value. Once we do, we are sure that, if we subtract the transmission time from the value we had saved, we will get the time of last sample of the counter value :)
This is a bit tricky at first but extremely easy once you get it. I’m happy to try to answer some questions on it if anyone’s interested.
And this was the whiteboard after some drawings on time correlation..
* Since the orbit of the spacecraft is modeled on earth we know at each point how long it will take for such a transmission to get to earth. This can go from seconds to hours as you can imagine (depending on the distance, etc). This transmission time is called One-Way-Light-Time (OWLT).