[time-nuts] Discipline an oscillator with NTP?

Magnus Danielson magnus at rubidium.dyndns.org
Fri Jul 22 23:55:03 UTC 2011


On 07/23/2011 12:07 AM, Bob Camp wrote:
> Hi
>
> The easy way is to take a pps off of your external oscillator and feed that into a port on your NTP server. Let NTP tell you where that pps is. Don't let NTP lock to the pps, just let it report it's position.
>
> After that all you need to do is write some code to read the location of the pulse and implement a *long* time constant loop. Taking the 1 ms number and a 1x10^-10 goal, the time constant would need to be around 4 months. There are a few minor details about drift of the local reference and how valid 1 ms is over long time periods. A reasonable GPSDO will likely be much more stable and much more accurate.
>
> To get it into the range of being practical, you have to get the NTP setup into single digit microseconds. In the us range you still would not beat the GPSDO, but at least you would have a useful device. 1 us can be done on a LAN with NTP. It's tough to do better than 1 ms over the net. Since PTP suffers the same issues over the net that NTP does, it's not a lot of help in this situation.

There are people already hacking an OCXO into the system clock of their 
NTP server.

Now, look at the correction log (frequency and phase) of the system, 
low-pass filter that and use it to steer a secondary loop steering the 
oscillator. It should be fairly easy and not require much of hacking to 
achieve.

Cheers,
Magnus



More information about the time-nuts mailing list