The jitter of the 1pps signal is random. You cannot predict what happens next 1pps edge.
You can't predict *exactly* what will happen, but you can say within almost 100% certainty it will arrive within +-XnS of when it should. If I set X to 200nS then I would suggest it is so close to 100% that it doesn't matter. In a short period, 200nS is big deal. In a day, not so much. The point of my previous post.
Therefore - the adjusting the OCXO against each 1pps edge would create jumps of 0.XXX Hz based on the actual jitter.
Nobody would want to do that in real life. My imagined scenario was for illustration, and assumed a DOXCO that may not be within the financial resources of most people.
Also the OCXO drifts (1/f noise, other noises too, aging, temperature fluctuations, etc.).
In the longer term (say a day) isn't it just ageing (assuming temperature can be controlled). I worked in a laboratory (over 50 years ago) that had a 5MHz DOXCO that was calibrated every Monday morning against a cesium beam. Its ageing was so predictable after 3 months that we could do a daily adjustment of the control voltage, and at the next weekly calibration required only a little adjustment.
Make ADEV or MADEV of your free running OCXO and you will get the picture how much it drifts within a day. The spot value of the phase after 86400 secs will be random too.
Afaik, the ADEV of a high stability free running OCXOs starts to climb up after a few/several minutes.
And this is what I'm having trouble understanding. What are ADEV and MDEV and what is their relevance. I would think what is important to people is knowing that their oscillator is within +-0.X Hz of the target. Or for period measurement that it completes X number of cycles in that period. With an oscillator that adjusts its phase to agree with the GPS, the second is a given and only the first is relevant
You have to average the phase differences - clean up the RMS of the 1pps jitter and OCXO with low pass filter - to get the "GPS quality". The time constant of the filter (digital, analog) is set usually from 500secs up, based on the setup, afaik (you may see the optimal time constant on the ADEV plot).
It does not mean the OCXO is locked in 500secs (an example) perfectly. The low pass is within a control loop, it takes many time constants to "lock". My double ovenized Trimble OCXO took min ~20-30 minutes to "lock" with the time constant calculated around 500 secs (XOR type analog control loop).
I have gone off on a tangent. I use a limit strategy. I allow the OCXO to 'free run' until it is about 1 cycle out of sync with the GPS average. Then I apply a change to the control voltage to bring the two together again. I've attached a log from the microprocessor of nearly a day's running. In that time it applied changes on average at more than hourly intervals.
The control volts assumes an exact 5V supply and I'm pretty sure the actual 5V changes with temperature and is the main reason it needs adjusting. The last reading was in the morning when the temperature was on the rise (overnight 19C, expected top over 30C). The ppb figures are calculated knowing the V/Hz relationship of the OCXO. The voltage is quoted to 7 figures as it is derived from a synthesized 24-bit (almost) DAC. The last digit is rubbish but the rest are significant.
The circuit is ridiculously simple, I attached it to my first post
https://www.eevblog.com/forum/projects/lars-diy-gpsdo-with-arduino-and-1ns-resolution-tic/msg3334250/#msg3334250. It relies heavily on software. The control is dynamic and will apply corrections at a minimum of 5 second intervals if needed, but once it settles it uses the last 2048 seconds of 1ppS to calculate the difference between GPS and OCXO. This is an artificial limit due to limitations on the arithmetic. Is this is equivalent to a self adjusting low pass filter? I don't know.
The only 'tuning' I've done is on the limit. I tried a few different strategies and a +-1 Hz deviation seems to work OK.