[LinuxPPS] So far, so good

Hal V. Engel hvengel at gmail.com
Mon Aug 9 16:57:34 CEST 2010


On Sunday 08 August 2010 11:54:58 pm Paul wrote:
> As the title suggests I am making encouraging progress with my Oncore
> synchronised server. However I have a couple of questions.
> 
> 1. I am using the 'site survey' mode as I do not know my accurate
> position. I gather that greater accuracy is obtained by setting the site
> position. Does the oncore output somewhere where it thinks it is? I
> can't find it in the logs, but of course I may not be understanding what
> I see.

I like to have my antenna position hard coded in the config file.  What I do for 
my site survey is to use WinOncore12.  This is a Windows executable that 
originally came from Motorola that was intended for OnCore users and 
developers.  It is getting hard to find but I think you should be able to find 
it on the net some where.  It will run without problems using wine and it has 
built in site survey functionality.  Do the survey at night to get the most 
accurate results.  If I do my site surveys at night I typically see a standard 
deviation in the position reading of about 1.5 meters horizontally and 2 
meters vertically which.   The survey takes about 3 hours to run.  AFter doing 
this in WinOncore12 use the resulting averaged position to update your oncore 
config file.  Then a restart will take about 1 minute to start giving accurate 
time output.

> 
> 2. I see frequent reference to nanosecond accuracy. How are you
> measuring this? Do you need a special kernel, or a vanilla kernel with
> different compiled options, or even non-standard hardware?

Recent kernels do support nano second time keeping.  But there are things that 
prevent this from being realized.  

1. Most existing counters are more granular with resolutions in the 5 to 1000 
nano second range.  On my machine I am using a 25MHz HPET counter which means 
the resolution of the counter is about 40 nano seconds.  Some AMD64 machines 
will have an invariant TSC which will typically have a resolution of about 5 
nano seconds (200 MHz) but some motherboards may allow you to set this to the 
bus speed (200 MHz) times the base multiplier (typically 4) which will result 
in a resolution of 1.2 nano seconds.  Any offsets reported by NTP that are 
lower than the resolution of your counter are meaningless other than to 
indicate that things are very stable.

2.  Interrupt handler latency is very difficult to measure and it would require 
some very expensive equipment.  In addition the interrupt handler latency is 
variable because of things like variations in how loaded the machine is among 
other things.   This variability is probably on the order of several hundred 
nano seconds to several microseconds.  NTP uses various filters to deal with 
this but there are limits to how much it can do.

The bottom line is that users reporting offsets of less than 1 microsecond are 
doing so as a way of indicating how stable the timekeeping on their machine is 
but it is not indicative of the actual accuracy of the systems clock since 
most users will have no accurate way to measure and then compensate for 
various latencies in the PPS system and those latencies are typically several 
hundred or more nano seconds.

Hal 





More information about the LinuxPPS mailing list