time-nuts@lists.febo.com

Discussion of precise time and frequency measurement

View all threads

n00b contribution -- WWVB software for EVERSET ES100 dual-antenna receiver

FC
Fiorenzo Cattaneo
Fri, Nov 15, 2019 11:59 PM

Hello everyone, this is the first time I actually make a modest n00b
contribution to time-nuts, so please be kind with me 😊 I will appreciate
any comments, criticism and suggestions.

Aside from GPSDO and Rubidium Oscillators, I am also quite interested in
radio clock receivers. So I found the EVERSET ES100 WWVB receiver on
Amazon, ordered it, and wrote some code for it. I’ve only had this for a
couple days, barely enough time to hack together a few lines of python code
which I use as a test program. Once I work out all the kinks and add all
the functionality I think is needed, I’ll then go ahead and write an SHM
based refclock for NTP, in C code of course.

GITHUB link: https://github.com/fiorenzo1963/es100-wwvb-refclock

I hope it’s okay to post partial work (in the spirt of open source ā€œrelease
early, release oftenā€.

The receiver is fairly inexpensive, and I’m using a Raspberry PI 3 which I
had lying around. I’ve only had this running for a few hours, so I can only
show every preliminary data. Phase error is measured against the local
oscillator, disciplined via NTP against 3 local GPSDO servers.

I’ve oriented the dual antennas at 45 degrees of each other, with their
intersection roughly pointing to Fort Collins.

First results:

  • These logs have been taken from 2019-11-15T11:09:18Z to
    2019-11-15T22:35:49Z

  • RX statistics indicate a successful RX rate of 44%

    RX_OK_ANT1          1      /* RX count on ANT_1 */

    RX_OK_ANT2        113      /* RX count on ANT_2 */

    IRQ_NO_DATA      145      /* RX unsuccessful, WWVB retrying
    (currently simply timed-out) */

  • Phase (aka offset) error statistics compared against a local
    GPS-disciplined stratum-1 clock

    • Average ~ -10 milliseconds
    • Most samples are within +40/-60 milliseconds
    • All samples are within +60/-120 milliseconds
  • Phase (aka offset) error plot, with moving average (note that RX
    errors are ignored here) [image: alt text]
    https://raw.githubusercontent.com/fiorenzo1963/es100-wwvb-refclock/master/images/wwvb_offset_error_20191115.jpg

Hope you enjoy,

Cheers,

-- Fio Cattaneo

Universal AC, can Entropy be reversed? -- "THERE IS AS YET INSUFFICIENT
DATA FOR A MEANINGFUL ANSWER."

Hello everyone, this is the first time I actually make a modest n00b contribution to time-nuts, so please be kind with me 😊 I will appreciate any comments, criticism and suggestions. Aside from GPSDO and Rubidium Oscillators, I am also quite interested in radio clock receivers. So I found the EVERSET ES100 WWVB receiver on Amazon, ordered it, and wrote some code for it. I’ve only had this for a couple days, barely enough time to hack together a few lines of python code which I use as a test program. Once I work out all the kinks and add all the functionality I think is needed, I’ll then go ahead and write an SHM based refclock for NTP, in C code of course. GITHUB link: https://github.com/fiorenzo1963/es100-wwvb-refclock I hope it’s okay to post partial work (in the spirt of open source ā€œrelease early, release oftenā€. The receiver is fairly inexpensive, and I’m using a Raspberry PI 3 which I had lying around. I’ve only had this running for a few hours, so I can only show every preliminary data. Phase error is measured against the local oscillator, disciplined via NTP against 3 local GPSDO servers. I’ve oriented the dual antennas at 45 degrees of each other, with their intersection roughly pointing to Fort Collins. First results: - These logs have been taken from 2019-11-15T11:09:18Z to 2019-11-15T22:35:49Z - RX statistics indicate a successful RX rate of 44% RX_OK_ANT1 1 /* RX count on ANT_1 */ RX_OK_ANT2 113 /* RX count on ANT_2 */ IRQ_NO_DATA 145 /* RX unsuccessful, WWVB retrying (currently simply timed-out) */ - Phase (aka offset) error statistics compared against a local GPS-disciplined stratum-1 clock - Average ~ -10 milliseconds - Most samples are within +40/-60 milliseconds - All samples are within +60/-120 milliseconds - Phase (aka offset) error plot, with moving average (note that RX errors are ignored here) [image: alt text] <https://raw.githubusercontent.com/fiorenzo1963/es100-wwvb-refclock/master/images/wwvb_offset_error_20191115.jpg> Hope you enjoy, Cheers, -- Fio Cattaneo Universal AC, can Entropy be reversed? -- "THERE IS AS YET INSUFFICIENT DATA FOR A MEANINGFUL ANSWER."