WWVB Reception Quality

Here on the East Coast of the US, WWVB reception is iffy during the day, due to low signal strength and high ambient noise. Actual data seems hard to come by, so here’s a small contribution.

This is a plot of the number of glitches per minute, where a glitch is any pulse that’s not within ±60 ms of the expected pulse durations (200, 500, and 800 ms), for a 24-hour period starting at UTC 0257 on 25 Dec 2009 (9:57 EST Christmas Eve 2009). There are 1448 data points, each representing the glitches during the previous minute; each minute starts within 2 seconds of the WWVB on-time frame marker.

Here’s the raw data, log-scaled on the Y axis to cover the dynamic range. Log scaling can’t handle 0-valued points, so I forced counts of 0 to 0.1 to make them visible.

Glitchiness - raw - 24 hrs - 2009-12-24
Glitchiness - raw - 24 hrs - 2009-12-24

Here’s the same data, Bezier smoothed to make the trends more obvious;  all the points below 1.0 are approximations of a trend toward counts of 0.

Glitchiness - smoothed - 24 hrs - 2009-12-24
Glitchiness - smoothed - 24 hrs - 2009-12-24

Even better, splines show the glitch-free minutes without forcing the data points.

Glitchiness - splines - 24 hrs - 2009-12-24
Glitchiness - splines - 24 hrs - 2009-12-24

My firmware requires four successive glitch-free minutes of reception (plus some additional verification) before synching its local time to WWVB, so it’s exceedingly fussy. Despite that, it still synched 17 times during those 24 hours. The longest free-running time between synchs was 6.8 hours.

Note that there are 17 downward peaks below 1.0 in that last graph.

Winter is, of course, the time of best ground-wave propagation from WWVB, so this is about as good as it’s ever going to get.

Memo to Self: useful Bash and Gnuplot commands…


grep Glitch WWVB_2009-12-24a.log | cut -d H -f 1 > Glitches.txt

set logscale y

set samples 250

plot 'Glitches.txt' using ($2<1?0.1:$2) with points lt 3 pt 2

plot 'Glitches.txt' using 2 smooth csplines with linespoints lt 3 pt 0

log-scaled on the Y axis to cover the dynamic range. Log scaling can’t handle 0-valued points, so I forced them to 0.1;

Comments are closed.