|
From: | Nick Burkitt |
Subject: | Re[2]: NTPsec reports excessive jitter from GPSD/KPPS SHM |
Date: | Fri, 06 Mar 2020 00:23:53 +0000 |
User-agent: | eM_Client/7.2.37929.0 |
Hi Gary. Yes, the u-blox PPS is 100 ms wide. We use the rising edge for other purposes, so I've implemented a second interrupt for the falling edge (Zynq GIC interrupts are rising edge/high level only). Now I'm capturing both assert and clear. It doesn't seem to have made any difference, though. Here's ppstest: root@MPM-4006:~# ppstest /dev/pps0 trying PPS source "/dev/pps0" found PPS source "/dev/pps0" ok, found 1 source(s), now start fetching data... source 0 - assert 1583451764.950840664, sequence: 1111 - clear 1583451764.050612818, sequence: 1110 source 0 - assert 1583451764.950840664, sequence: 1111 - clear 1583451765.050863427, sequence: 1111 source 0 - assert 1583451765.951094669, sequence: 1112 - clear 1583451765.050863427, sequence: 1111 source 0 - assert 1583451765.951094669, sequence: 1112 - clear 1583451766.051123386, sequence: 1112 source 0 - assert 1583451766.951346473, sequence: 1113 - clear 1583451766.051123386, sequence: 1112 source 0 - assert 1583451766.951346473, sequence: 1113 - clear 1583451767.051365286, sequence: 1113 source 0 - assert 1583451767.951595809, sequence: 1114 - clear 1583451767.051365286, sequence: 1113 source 0 - assert 1583451767.951595809, sequence: 1114 - clear 1583451768.051621698, sequence: 1114 source 0 - assert 1583451768.951843455, sequence: 1115 - clear 1583451768.051621698, sequence: 1114 source 0 - assert 1583451768.951843455, sequence: 1115 - clear 1583451769.051869235, sequence: 1115 source 0 - assert 1583451769.952093108, sequence: 1116 - clear 1583451769.051869235, sequence: 1115 source 0 - assert 1583451769.952093108, sequence: 1116 - clear 1583451770.052115882, sequence: 1116 source 0 - assert 1583451770.952337119, sequence: 1117 - clear 1583451770.052115882, sequence: 1116 source 0 - assert 1583451770.952337119, sequence: 1117 - clear 1583451771.052366180, sequence: 1117 source 0 - assert 1583451771.952581094, sequence: 1118 - clear 1583451771.052366180, sequence: 1117 source 0 - assert 1583451771.952581094, sequence: 1118 - clear 1583451772.052607824, sequence: 1118 source 0 - assert 1583451772.952826395, sequence: 1119 - clear 1583451772.052607824, sequence: 1118 source 0 - assert 1583451772.952826395, sequence: 1119 - clear 1583451773.052851174, sequence: 1119 source 0 - assert 1583451773.953075937, sequence: 1120 - clear 1583451773.052851174, sequence: 1119 source 0 - assert 1583451773.953075937, sequence: 1120 - clear 1583451774.053103787, sequence: 1120 source 0 - assert 1583451774.953320664, sequence: 1121 - clear 1583451774.053103787, sequence: 1120 source 0 - assert 1583451774.953320664, sequence: 1121 - clear 1583451775.053347729, sequence: 1121 source 0 - assert 1583451775.953565624, sequence: 1122 - clear 1583451775.053347729, sequence: 1121 source 0 - assert 1583451775.953565624, sequence: 1122 - clear 1583451776.053588964, sequence: 1122 source 0 - assert 1583451776.953807471, sequence: 1123 - clear 1583451776.053588964, sequence: 1122 source 0 - assert 1583451776.953807471, sequence: 1123 - clear 1583451777.053833641, sequence: 1123 source 0 - assert 1583451777.954047778, sequence: 1124 - clear 1583451777.053833641, sequence: 1123 source 0 - assert 1583451777.954047778, sequence: 1124 - clear 1583451778.054072583, sequence: 1124 source 0 - assert 1583451778.954289286, sequence: 1125 - clear 1583451778.054072583, sequence: 1124 ========================================================================= Here's cgps: ┌───────────────────────────────────────────┐┌──────────────────Seen 22/Used 10┐ │ Time: 2020-03-05T23:45:46.000Z ││ PRN Elev Azim SNR Use │ │ Latitude: xxx.31806990 N ││GP 6 30.0 157.0 16.0 Y │ │ Longitude: xxx.78326150 W ││GP 13 29.0 219.0 23.0 Y │ │ Alt (HAE, MSL): 83.907, 181.765 ft ││GP 15 24.0 254.0 25.0 Y │ │ Speed: 0.04 mph ││GP 17 67.0 39.0 19.0 Y │ │ Track (true, var): 276.7, 13.1 deg ││GP 19 86.0 242.0 30.0 Y │ │ Climb: 0.00 ft/min ││GP 24 30.0 312.0 28.0 Y │ │ Status: 3D FIX (48 secs) ││GP 28 43.0 65.0 22.0 Y │ │ Long Err (XDOP, EPX): 0.63, +/- 31.9 ft ││GP 30 22.0 141.0 16.0 Y │ │ Lat Err (YDOP, EPY): 0.76, +/- 34.0 ft ││GL 76 49.0 94.0 11.0 Y │ │ Alt Err (VDOP, EPV): 1.67, +/- 20.0 ft ││GL 87 63.0 180.0 22.0 Y │ │ 2D Err (HDOP, CEP): 1.02, +/- 16.2 ft ││GP 1 8.0 36.0 14.0 N │ │ 3D Err (PDOP, SEP): 1.96, +/- 107 ft ││GP 2 11.0 184.0 23.0 N │ │ Time Err (TDOP): 1.20 ││GP 12 8.0 281.0 20.0 N │ │ Geo Err (GDOP): 2.30 ││GP 18 86.0 243.0 0.0 uN │ │ ECEF X, VX: -2674984.810 m -0.020 m/s ││GL 67 4.0 260.0 0.0 N │ │ ECEF Y, VY: -4317124.450 m 0.010 m/s ││GL 68 8.0 307.0 0.0 N │ │ ECEF Z, VZ: 3845541.060 m 0.000 m/s ││GL 75 6.0 119.0 0.0 N │ │ Speed Err (EPS): +/- 0.0 mph ││GL 77 56.0 347.0 0.0 N │ │ Track Err (EPD): n/a ││GL 78 10.0 314.0 0.0 N │ │ Time offset: 0.044 sec ││GL 86 46.0 37.0 0.0 N │ │ Grid Square: CM97ch ││GL 88 17.0 198.0 0.0 uN │ └───────────────────────────────────────────┘└More...──────────────────────────┘ "az":65.0,"ss":22.0,"used":true,"gnssid":0,"svid":28,"health":1},{"PRN":30,"el":22.0,"az":141.0,"ss":16.0,"used":true,"gnssid":0,"svid":30,"health":1},{"PRN":67,"el":4.0,"az":260.0,"ss":0.0,"used":false, "gnssid":6,"svid":3,"health":1},{"PRN":68,"el":8.0,"az":307.0,"ss":0.0,"used":false,"gnssid":6,"svid":4,"health":1},{"PRN":75,"el":6.0,"az":119.0,"ss":0.0,"used":false,"gnssid":6,"svid":11,"health":1},{" PRN":76,"el":49.0,"az":94.0,"ss":11.0,"used":true,"gnssid":6,"svid":12,"health":1},{"PRN":77,"el":56.0,"az":347.0,"ss":0.0,"used":false,"gnssid":6,"svid":13,"health":1},{"PRN":78,"el":10.0,"az":314.0,"ss ":0.0,"used":false,"gnssid":6,"svid":14,"health":1},{"PRN":86,"el":46.0,"az":37.0,"ss":0.0,"used":false,"gnssid":6,"svid":22,"health":1},{"PRN":87,"el":63.0,"az":180.0,"ss":22.0,"used":true,"gnssid":6,"s vid":23,"health":1},{"PRN":88,"el":17.0,"az":198.0,"ss":0.0,"used":false,"gnssid":6,"svid":24,"health":2},{"PRN":90,"el":46.0,"az":37.0,"ss":0.0,"used":false,"gnssid":6,"svid":26,"health":1}]} {"class":"TPV","device":"/dev/core100/gnss","mode":3,"time":"2020-03-05T23:45:41.000Z","leapseconds":18,"ept":0.005,"lat":37.318068300,"lon":-121.783260900,"altHAE":25.396,"altMSL":55.223,"alt":55.223,"e px":9.709,"epy":10.348,"epv":6.096,"track":276.7052,"magtrack":13.0711,"magvar":13.1,"speed":0.020,"climb":0.000,"eps":0.02,"epc":12.28,"ecefx":-2674984.75,"ecefy":-4317124.45,"ecefz":3845540.81,"ecefvx" :-0.02,"ecefvy":0.01,"ecefvz":0.00,"ecefpAcc":7.83,"ecefvAcc":0.02,"velN":0.000,"velE":0.000,"velD":-0.000,"geoidSep":-31.881,"eph":4.908,"sep":32.870} {"class":"PPS","device":"/dev/pps0","real_sec":1583451942,"real_nsec":0,"clock_sec":1583451941,"clock_nsec":958129622,"precision":-20} {"class":"TPV","device":"/dev/core100/gnss","mode":3,"time":"2020-03-05T23:45:42.000Z","leapseconds":18,"ept":0.005,"lat":37.318068300,"lon":-121.783260900,"altHAE":25.396,"altMSL":55.223,"alt":55.223,"e px":9.709,"epy":10.348,"epv":6.096,"track":276.7052,"magtrack":13.0711,"magvar":13.1,"speed":0.020,"climb":0.000,"eps":0.02,"epc":12.28,"ecefx":-2674984.77,"ecefy":-4317124.45,"ecefz":3845540.87,"ecefvx" :-0.02,"ecefvy":0.01,"ecefvz":0.00,"ecefpAcc":7.83,"ecefvAcc":0.02,"velN":0.000,"velE":0.000,"velD":-0.000,"geoidSep":-31.881,"eph":4.908,"sep":32.870} {"class":"TPV","device":"/dev/core100/gnss","mode":3,"time":"2020-03-05T23:45:42.000Z","leapseconds":18,"ept":0.005,"lat":37.318068600,"lon":-121.783261100,"altHAE":25.447,"altMSL":55.274,"alt":55.274,"e px":9.709,"epy":10.348,"epv":6.099,"track":276.7052,"magtrack":13.0711,"magvar":13.1,"speed":0.020,"climb":0.000,"eps":0.02,"epc":12.28,"ecefx":-2674984.77,"ecefy":-4317124.45,"ecefz":3845540.87,"ecefvx" :-0.02,"ecefvy":0.01,"ecefvz":0.00,"ecefpAcc":7.83,"ecefvAcc":0.02,"velN":0.000,"velE":0.000,"velD":-0.000,"geoidSep":-31.881,"eph":4.910,"sep":32.870} {"class":"PPS","device":"/dev/pps0","real_sec":1583451943,"real_nsec":0,"clock_sec":1583451942,"clock_nsec":958037956,"precision":-20} {"class":"TPV","device":"/dev/core100/gnss","mode":3,"time":"2020-03-05T23:45:43.000Z","leapseconds":18,"ept":0.005,"lat":37.318068600,"lon":-121.783261100,"altHAE":25.447,"altMSL":55.274,"alt":55.274,"e px":9.709,"epy":10.348,"epv":6.099,"track":276.7052,"magtrack":13.0711,"magvar":13.1,"speed":0.020,"climb":0.000,"eps":0.02,"epc":12.28,"ecefx":-2674984.79,"ecefy":-4317124.43,"ecefz":3845540.92,"ecefvx" :-0.02,"ecefvy":0.01,"ecefvz":0.00,"ecefpAcc":7.83,"ecefvAcc":0.02,"velN":0.000,"velE":0.000,"velD":-0.000,"geoidSep":-31.881,"eph":4.910,"sep":32.870} {"class":"TPV","device":"/dev/core100/gnss","mode":3,"time":"2020-03-05T23:45:43.000Z","leapseconds":18,"ept":0.005,"lat":37.318069000,"lon":-121.783261300,"altHAE":25.469,"altMSL":55.296,"alt":55.296,"e px":9.709,"epy":10.348,"epv":6.103,"track":276.7052,"magtrack":13.0711,"magvar":13.1,"speed":0.020,"climb":0.000,"eps":0.02,"epc":12.28,"ecefx":-2674984.79,"ecefy":-4317124.43,"ecefz":3845540.92,"ecefvx" :-0.02,"ecefvy":0.01,"ecefvz":0.00,"ecefpAcc":7.83,"ecefvAcc":0.02,"velN":0.000,"velE":0.000,"velD":-0.000,"geoidSep":-31.881,"eph":4.913,"sep":32.870} {"class":"TPV","device":"/dev/core100/gnss","mode":3,"time":"2020-03-05T23:45:43.000Z","leapseconds":18,"ept":0.005,"lat":37.318069000,"lon":-121.783261300,"altHAE":25.469,"altMSL":55.296,"alt":55.296,"e px":9.709,"epy":10.348,"epv":6.103,"track":276.7052,"magtrack":13.0711,"magvar":13.1,"speed":0.020,"climb":0.000,"eps":0.02,"epc":12.28,"ecefx":-2674984.79,"ecefy":-4317124.43,"ecefz":3845540.92,"ecefvx" :-0.02,"ecefvy":0.01,"ecefvz":0.00,"ecefpAcc":7.83,"ecefvAcc":0.02,"velN":0.000,"velE":0.000,"velD":-0.000,"geoidSep":-31.881,"eph":4.913,"sep":32.870} {"class":"PPS","device":"/dev/pps0","real_sec":1583451944,"real_nsec":0,"clock_sec":1583451943,"clock_nsec":957949193,"precision":-20} {"class":"TPV","device":"/dev/core100/gnss","mode":3,"time":"2020-03-05T23:45:44.000Z","leapseconds":18,"ept":0.005,"lat":37.318069000,"lon":-121.783261300,"altHAE":25.469,"altMSL":55.296,"alt":55.296,"e px":9.709,"epy":10.348,"epv":6.103,"track":276.7052,"magtrack":13.0711,"magvar":13.1,"speed":0.020,"climb":0.000,"eps":0.02,"epc":12.28,"ecefx":-2674984.81,"ecefy":-4317124.44,"ecefz":3845540.98,"ecefvx" :-0.02,"ecefvy":0.01,"ecefvz":0.00,"ecefpAcc":7.84,"ecefvAcc":0.02,"velN":0.000,"velE":0.000,"velD":-0.000,"geoidSep":-31.881,"eph":4.913,"sep":32.870} Here's a formatted PPS JSON object: { "class": "PPS", "device": "/dev/pps0", "real_sec": 1583452869, "real_nsec": 0, "clock_sec": 1583452868, "clock_nsec": 940146370, "precision": -20 } ========================================================================= Here's ntpmon: remote refid st t when poll reach delay offset jitter SHM(0) .GPS. 0 l 17 64 377 0ns 48.263ms 14.602ms *SHM(1) .PPS. 0 l 15 64 377 0ns -26.60ms 16.084ms +clock.team-cymr 204.9.54.119 2 u 3 64 377 67.488ms 37.833ms 20.522ms +tock.usshc.com .GPS. 1 u 8 64 357 75.055ms 64.780ms 20.008ms -linode1.ernest- 198.72.72.10 3 u 11 64 377 82.348ms 68.958ms 21.518ms -rolex.netservic 129.6.15.29 2 u 211 64 130 76.218ms 28.192ms 19.751ms pool.ntp.org .POOL. 16 p - 256 0 0ns 0ns 1.907us -ntp13.doctor.co 50.205.244.29 2 u 4 64 357 70.509ms 67.659ms 21.595ms -50-205-244-108- 50.205.244.28 2 u 9 64 377 75.233ms 64.438ms 21.384ms -45.55.217.50 200.98.196.212 2 u 3 64 377 87.571ms 69.812ms 22.215ms -au.kashra.pictu 75.229.16.214 2 u 6 64 327 24.167ms 69.444ms 17.418ms ntpd ntpsec-1.1.8+ 2020-03-04T20:55:58Z Updated: 2020-03-05T23:43:53 (32) lstint avgint rstr r m v count rport remote address 0 3.32 0 . 6 2 391 46780 localhost 4 54 d0 . 4 4 25 123 45.55.217.50 4 54 d0 . 4 4 25 123 clock.team-cymru.org 5 56 d0 . 4 4 24 123 ntp13.doctor.com 7 64 d0 . 4 4 21 123 138.68.46.177 (au.kashra.pictures) 9 56 d0 . 4 4 24 123 199.102.46.76 (tock.usshc.com) 10 53 d0 . 4 4 25 123 50-205-244-108-static.hfc.comcastbusines 12 53 d0 . 4 4 25 123 linode1.ernest-doss.org 212 72 d0 . 4 4 16 123 rolex.netservicesgroup.com I should note that the numbers that NTPsec uses for offset and jitter wander all over the map, from a low of ~2 ms to 50 or even > 100 ms. Where it's getting those numbers from is a mystery to me. For fun, I calculated the standard deviation of the difference between timestamps for successive sequence numbers as reported by ppstest. It's 0.00000475
s (~5 us) for the asserts, 0.00000535
s (~5 us) for the clears. -Nick ------ Original Message ------
From: "Gary E. Miller" <address@hidden>
To: address@hidden
Sent: 3/5/2020 1:27:31 PM
Subject: Re: NTPsec reports excessive jitter from GPSD/KPPS SHM
|
[Prev in Thread] | Current Thread | [Next in Thread] |