For isolated 1PPS distribution I made this distribution board.
The input is a TLP117 (or similar) optoisolator driving a LT1711 comparator with a 1.0 V trigger level. An output LED-blink is provided by LTC6993. Outputs are driven by IDT5PB1108 buffers.
In jitter measurements with a HPAK 53230A counter the jitter between two 1PPS pulses (from masers) seems to degrade slightly through this amplifier: from RMS 16-19 ps directly on the maser-outputs to between 21 and 26 ps RMS from the outputs of the ISOPDA. Maybe a faster optoisolator would be better?
KiCad sources available on request.
A mere ~3months 🙂 after moving to a new place I setup the lab-table again.
- Ikea table 120cm wide and 80cm deep.
- Top shelf on 40cm legs, 40cm deep.
- HPAK E3640A powersupplies
- 2-ch 62MXs-B 600MHz scope
- SDG2042X siggen
- HPAK 34401A and Fluke 177 DMMs
- Olympus SZ51 microscope with LED ringlight
- Hakko FA-400 and FX-888D for soldering
- SR620 counter
The usual noise-types studied have phase PSD noise-slopes "b" ranging from 0 to -4 (or even -5 or -6), corresponding to frequency PSD noise-slopes "a" ranging from +2 to -2 (where a=b+2). These 'colors of noise' can be visualized like this:
I've implemented three noise-identification algorithms based on Stable32-documentation and other papers: B1, R(n), and Lag-1 autocorrelation.
B1 (Howe 2000, Barnes1969) is defined as the ratio of the standard N-sample variance to the (2-sample) Allan variance. From the definitions one can derive an expected B1 ratio of (the length of the time-series is N)
where mu is the tau-exponent of Allan variance for the noise-slope defined by b (or a). Since mu is the same (-2) for both b=0 and b=-1 (red and green data) we can't use B1 to resolve between these noise-types. B1 looks like a good noise-identifier for b=[-2, -3, -4] where it resolves very well between the noise types at short tau, and slightly worse at longer tau.
R(n) can be used to resolve between b=0 and b=-1. It is defined as the ratio MVAR/AVAR, and resolves between noise types because MVAR and AVAR have different tau-slopes mu. For b=0 we expect mu(AVAR, b=0) = -2 while mu(MVAR, b=0)=-3 so we get mu(R(n), b=0)=-1 (red data points/line). For b=-1 (green) the usual tables predict the same mu for MVAR and AVAR, but there's a weak log(tau) dependence in the prefactor (see e.g. Dawkins2007, or IEEE1139). For the other noise-types b=[-2,-3,-4] we can't use R(n) because the predicted ratio is one for all these noise types. In contrast to B1 the noise identification using R(n) works best at large tau (and not at all at tau=tau0 or AF=1).
The lag-1 autocorrelation method (Riley, Riley & Greenhall 2004) is the newest, and uses the predicted lag-1 autocorrelation for (WPM b=0, FPM b=-1, WFM b=-2) to identify noise. For other noise types we differentiate the time-series, which adds +2 to the noise slope, until we recognize the noise type.
Here are three figures for ACF, B1, and R(n) noise identification where a simulated time series with known power law noise is first generated using the Kasdin&Walter algorithm, and then we try to identify the noise slope.
For Lag-1 ACF when we decimate the phase time-series for AF>1 there seems to be a bias to the predicted a (alpha) for b=-1, b=-3, b=-4 which I haven't seen described in the papers or understand that well. Perhaps an aliasing effect(??).
For fun I wrote a simple program that computes the SHA1 checksum for leap-seconds.list.
It turns out there's quirky convention of writing out the 40-character SHA1 checksum in 5 groups of 8 hex characters - whith the special undocumented rule that leading zeros are suppressed. This means the SHA1 check fails for some files where we happen to have a leading zero in one of the 8-character groups - unless you happen to know about the undocumented rule...
The output looks like this. "New" is the checksum computed by the program, "Old" is the checksum contained in the published file.
https://hpiers.obspm.fr/iers/bul/bulc/ntp/leap-seconds.list read 117 lines New: 1e2613791c4627c2d0a34c872ece0ae428dfb714 Old: 1e2613791c4627c2d0a34c872ece0ae428dfb714 Identical ? True ftp://tycho.usno.navy.mil/pub/ntp/leap-seconds.list read 220 lines New: 3f00425591f969f7252361e527aa6754eb6b7c72 Old: 3f00425591f969f7252361e527aa6754eb6b7c72 Identical ? True https://www.ietf.org/timezones/data/leap-seconds.list read 250 lines New: 5101445a69948b5109153e2b2086e3d8d54561a3 Old: 5101445a69948b519153e2b2086e3d8d54561a3 Identical ? False https://data.iana.org/time-zones/code/leap-seconds.list read 250 lines New: 5101445a69948b5109153e2b2086e3d8d54561a3 Old: 5101445a69948b519153e2b2086e3d8d54561a3 Identical ? False ftp://ftp.nist.gov/pub/time/leap-seconds.list read 250 lines New: 5101445a69948b5109153e2b2086e3d8d54561a3 Old: 5101445a69948b519153e2b2086e3d8d54561a3 Identical ? False
There's also another simple script for authoring a leap-seconds.list file. It might be used for adding an artificial leap-second, generating a leap-seocnds.list file, and testing how different devices react to a leap-second - without having to wait for a real leap-second event.
See also time-stamp for leap-seconds.list.
Following the publication of Circular-T nr. 357 we shall take a look at the RMS error of UTC-UTC(k) in different laboratories across the world. Should we rank the 75 laboratories that have complete UTC-UTC(k) records by RMS error for this month we find the following.
Warning: Past performance is not an indicator of future results.
Circular-T 357 RMS Ranking list, top 10 labs Rank Lab (Location) RMS( UTC-UTC(k) ) / ns 1 MIKE (Espoo) 0.524 ns 2 PTB (Braunschweig) 1.056 ns 3 NIST (Boulder) 1.528 ns 4 ORB (Bruxelles) 1.556 ns 5 NPL (Teddington) 1.627 ns 6 NTSC (Lintong) 1.671 ns 7 OP (Paris) 2.090 ns 8 TL (Chung-Li) 2.095 ns 9 USNO (Washington_DC) 2.356 ns 10 SP (Boras) 2.409 ns
It's much easier to be lucky than brilliant, so maybe we have to look one further month back and do the same thing for Circular T 356:
Circular-T 356 RMS Ranking list, top 10 labs Rank Lab (Location) RMS( UTC-UTC(k) ) / ns 1 ESTC (Noordwijk) 0.504 ns 2 PTB (Braunschweig) 1.058 ns 3 OP (Paris) 1.198 ns 4 BY (Minsk) 1.340 ns 5 APL (Laurel) 1.409 ns 6 USNO (Washington_DC) 1.468 ns 7 NIST (Boulder) 2.372 ns 8 MIKE (Espoo) 2.683 ns 9 ORB (Bruxelles) 2.711 ns 10 SP (Boras) 2.920 ns
For completeness, here is the whole list for Circular-T nr. 357:
Circular-T 357 RMS Ranking list, all labs with complete data Rank Lab (Location) RMS( UTC-UTC(k) ) / ns 1 MIKE (Espoo) 0.524 ns 2 PTB (Braunschweig) 1.056 ns 3 NIST (Boulder) 1.528 ns 4 ORB (Bruxelles) 1.556 ns 5 NPL (Teddington) 1.627 ns 6 NTSC (Lintong) 1.671 ns 7 OP (Paris) 2.090 ns 8 TL (Chung-Li) 2.095 ns 9 USNO (Washington_DC) 2.356 ns 10 SP (Boras) 2.409 ns 11 APL (Laurel) 2.450 ns 12 CNM (Queretaro) 2.793 ns 13 UA (Kharkov) 2.870 ns 14 SG (Singapore) 2.981 ns 15 BY (Minsk) 3.137 ns 16 ONRJ (Rio_de_Janeiro) 3.600 ns 17 JATC (Lintong) 3.604 ns 18 ESTC (Noordwijk) 3.606 ns 19 ROA (San_Fernando) 3.763 ns 20 AOS (Borowiec) 3.944 ns 21 NIM (Beijing) 3.963 ns 22 IT (Torino) 4.025 ns 23 SU (Moskva) 4.842 ns 24 ZA (Pretoria) 5.394 ns 25 NICT (Tokyo) 5.683 ns 26 SMD (Bruxelles) 6.120 ns 27 NMIJ (Tsukuba) 6.273 ns 28 IMBH (Sarajevo) 6.473 ns 29 INXE (Rio_de_Janeiro) 7.582 ns 30 PL (Warszawa) 8.894 ns 31 DMDM (Belgrade) 9.541 ns 32 INTI (Buenos_Aires) 10.073 ns 33 NPLI (New-Delhi) 12.113 ns 34 INM (Bogota_D.C.) 14.139 ns 35 JV (Kjeller) 15.528 ns 36 VMI (Ha_Noi) 17.306 ns 37 UAE (Abu_Dhabi) 17.589 ns 38 VSL (Delft) 18.876 ns 39 TP (Praha) 21.305 ns 40 ICE (San_Jose) 21.597 ns 41 CH (Bern-Wabern) 24.486 ns 42 CNMP (Panama) 27.643 ns 43 CNES (Toulouse) 28.227 ns 44 BEV (Wien) 28.679 ns 45 SCL (Hong_Kong) 29.698 ns 46 NIS (Cairo) 31.465 ns 47 DTAG (Frankfurt/M) 32.215 ns 48 BIRM (Beijing) 32.899 ns 49 INPL (Jerusalem) 33.533 ns 50 NRC (Ottawa) 46.487 ns 51 KRIS (Daejeon) 46.607 ns 52 NAO (Mizusawa) 91.237 ns 53 INCP (Lima) 123.056 ns 54 DLR (Oberpfaffenhofen)147.241 ns 55 LT (Vilnius) 158.796 ns 56 KIM (Serpong-Tangerang)174.536 ns 57 NIMT (Pathumthani) 214.943 ns 58 SIQ (Ljubljana) 297.257 ns 59 MSL (Lower_Hutt) 299.413 ns 60 KZ (Astana) 314.082 ns 61 AUS (Sydney) 413.887 ns 62 SASO (Riyadh) 614.583 ns 63 NMLS (Sepang) 692.325 ns 64 BOM (Skopje) 837.749 ns 65 IFAG (Wettzell) 936.185 ns 66 HKO (Hong_Kong) 1089.931 ns 67 MTC (Makkah) 1167.348 ns 68 SMU (Bratislava) 1419.064 ns 69 NIMB (Bucharest) 1812.964 ns 70 ONBA (Buenos_Aires) 2222.486 ns 71 UME (Gebze-Kocaeli) 2403.381 ns 72 BIM (Sofiya) 7003.478 ns 73 DFNT (Tunis) 20450.450 ns 74 MBM (Podgorica) 52659.580 ns 75 MKEH (Budapest) 65626.933 ns