I did a lot of work in Lady Heather to add timing message arrival time analysis 
capability.  Heather has a "set the system clock to receiver time" function 
that is intended to be used on systems without access to something like NTP.  
By knowing the arrival time of the last byte of the timing message, Heather can 
set the system clock more accurately.  You can specify the message arrival time 
offset of the message time code or Heather uses a pre-computed typical value 
for the receiver.

Heather has a mode that can analyze and calculate the message timing offset for 
any receiver / cpu combination.  During the analysis it plots the message 
arrival time offset in milliseconds,  the jitter in the message arrival time,  
and ADEV/HDEV/MDEV and TDEV of those values.  When you exit message analysis 
mode it analyzes a histogram of the arrival time data to calculate an "optimum" 
arrival time offset to use for the system + receiver.

Most timing receivers that can operate in binary mode have rather consistent 
arrival times.  Some NMEA receivers can be quite good and others are rather 
problematic.  Some receivers have rather consistent time for long periods and 
then jump to a new "stable" value.  Also,  doing other things on the system 
during the analysis can cause spikes in the data.

Attached is a table of the arrival time offsets and standard deviations of 
several receivers.



Here are the results of measuring the difference between the time code in 
a GPS receiver time message and the arrival time of the last byte of 
the message.  POSITIVE values mean that the receiver sends the timing 
message AFTER the 1PPS pulse that it describes. The table also shows the 
standard deviation of the message arrival times.



The test configuration was a Compaq N610C laptop (2 GHz Pentium, hardware 
serial port) running Linux Ubuntu Mate 15.10).  The time of the message
arrival was from the system clock synced to NTP.  The receivers were tested 
in native binary protocol and, if supported, NMEA.  The com port was running
at the default value for the receiver.  If not specified that was 9600:8:N:1
Data was collected after the receiver had been tracking satellites for at 
least 1 hour and averaged over 4 hours.  The timings were also checked and
agree with those on a Raspberry PI 3 and a quad-core 3 GHz box.



Although measuring the arrival time of the first byte of the timing message
makes more technical sense (less variation due to timing message length and 
baud rate) these measurements are of the last byte of the message.  This was 
chosen to assist people trying to sync a clock to a GPS receiver without 
relying on the 1PPS pulse.  They are also useful to people that want to know
how long they have to process a timing message (like to set a sawtooth 
compensation delay line) before the next 1PPS pulse comes out.



A few receivers appear to not fully sync their timing message to some reference
clock.  This causes the timing message arrival time to follow a ramp curve.
The ramp size is fairly small in most receivers.



Device         Protocol         Firmware          (msg-arrival)  sdev

                                                     (msecs)

=============  ============    ================      =========   =====

Thunderbolt     TSIP            App:3.0 GPS:10.2        43.7 *    6.2   (gold 
box)

Thunderbolt     TSIP            App:2.22 GPS:10.2       54.6 *   10.2   (red 
box)

Resolution-T    TSIP            GPS:1.26                99.4 *    5.4

Res-T SMT       TSIP            GPS 2.7                393.2 *   63.7

Res-T SMT       Motorola(12ch)  HW 3010 SW:0.03.0      519.7 *   49.1

Starloc II      TSIP            App:1.10 GPS:1.2       266.0 *    7.2

Nortel NTBW50AA TSIP            GPS 10.4                60.8 *    1.2   (made 
by Trimble)

Nortel NTGS50AA TSIP            GPS 10.5                50.8 *    2.4   (made 
by Trimble) 

Nortel NTPB15AA TSIP            GPS 10.1                62.8 *    1.4   (made 
by Trimble) 

Nortel NTPX26AB TSIP            GPS 10.1                59.8 *    1.4   (made 
by Trimble, aka Nortel GSPR) 



NVS NC08C-CSM   BINR 115.2K     CSM24 04.08 20/10/14    40.7 *    7.3



Ublox LEA-6T    binary          6.02 (36023)           206.0 *    4.4

Ublox LEA-6T    NMEA            6.02 (36023)           144.5 *   11.1

Ublox Neo6M     binary          7.03 (45969)           197.1 *    9.3

Ublox Neo6M     NMEA            7.03 (45969)           137.6 *    8.4

Ublox 7         binary          1.00 (59842)           178.4 *    2.6

Ublox 7         NMEA            1.00 (59842)           146.2 *    7.9

Ublox NEO-8M    binary          2.01 (75350)           207.7 *    9.1

Ublox NEO-8M    NMEA            2.01 (75250)           181.2 *    8.0


V.KEL SIRFIII   binary          GSW3.2.5               417.0 *    6.1

V.KEL SIRFIII   NMEA            GSW3.2.5               385.0 *    5.0


Navspark Mini   bin+NMEA 115.2K 1.7.27 15.8.18         170.8 *    7.1

Navspark NS-T   bin+NMEA 115.2K 2.1.05 15.1.29         153.8 *    7.1  (Venus 
822T)

Venus 838T      bin+NMEA 9600   2.1.05 15.1.27         208.3 *    7.5  (Venus 
838T)


Adafruit Ultimate  NMEA                                461.9 *   49.8


Skylab SKM53    NMEA                                   149.0 *   37.8  (actual 
value is not stable -100 .. -500 seen)


Jupiter-T       Zodiac          93.07                 1245.5 *    3.3

Juptier-T       Motorola(8ch)   93.07                  284.5 *    3.2 

Jupiter Pico    Zodiac          14.00 11/28/05        1232.2 *    0.4  (ramps 
-1225 .. -1245 over 130 minutes)

Jupiter Pico    Motorola(8ch)   14.00 11/28/05         295.1 *    1.8 


Motorola UT+    Motorola        R5122U1112             260.5 *    3.7 

Synergy M12+    Motorola        P273T12T11             208.5 *    1.4  


Z3812A          SCPI            X98-4-A               -949.6 *    0.8  (ramps 
945 .. 955 over 16 seconds)

Z3801A          SCPI 19.2K      3543A                 -979.8 *    2.0

Symmetricom     UCCM-P 57.6K    1.0.0.2-01             127.1 *    3.6  (ramps 
-122 .. -132 over 10 seconds)

Trimble UCCM-P  UCCM-P 57.6K    2.0.1.6-01             281.0 *    3.2 

Trimble UCCM    UCCM 57.6K      3.0.0.11-0             286.2 *    3.1 


_______________________________________________
time-nuts mailing list -- time-nuts@febo.com
To unsubscribe, go to https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts
and follow the instructions there.

Reply via email to