[time-nuts] wtd: WWVB info
mcneight+timenuts at gmail.com
Thu Aug 6 19:51:46 EDT 2015
Is this the design you are looking for?
On Thu, Aug 6, 2015 at 12:04 PM, Clint Turner <turner at ussc.com> wrote:
> Years ago I ran across a project in which the WWVB signal, after being
> siphoned from a cheap TRF clock module with a Hi-Z follower, IIRC, was
> shoved directly into the A/D input (10 bits) of a rather low-end PIC
> running at a fairly low sample rate - something in the 4-8 kHz range.
> IIRC, from this point on the carrier was coherently recovered in software
> and the IRIG time code extracted: I've tried to find this reference more
> recently, but it resists my attempts to locate it.
> What I do remember was that it relied on undersampling techniques - the
> fact that one could sample at a much lower rate and via Nyquist, "see" the
> desired signal translated. While one loses a bit of dynamic range, etc. in
> doing this, such was largely irrelevant in this case as between the
> narrowband techniques involved for internally the carrier and then
> analyzing the amplitude thereof, 10 bits (minus noise, etc.) plus AGC of
> the TRF module seemed to be good enough. I seem to recall that the sample
> rate "offset" yielded an "internal" carrier frequency in the low kHz or
> hundred Hz range at most and then further-decimated.
> What I do recall was that the carrier was detected separately using a long
> time constant and the amplitude was then determined by using coherent
> demodulation to extract the DC component and then simple rectangular-window
> sample-and-hold integration (done in software) in something like 0.05 or
> 0.1 second chunks. I believe that pulse-swallowing/insertion was used to
> keep the carrier recovery in phase.
> What struck me at the time was that this method could have, with a bit of
> extra work, been used to obtain the precise carrier frequency - albeit with
> a bit of short-term jitter. Even though this was well before the current
> BPSK modulation was implemented I thought that it could have also been used
> to detect the then-45 degree phase shift ID that was used. Nowadays, I'd
> bet that a similar technique could be used to recover carrier with a simple
> Costas loop implemented in software, all at just a few hundred Hz - just as
> long as it was comfortably above the detection bandwidth. (Severely
> limiting the input bandwidth of the original signal also relaxes the
> filtering requirements involved in decimation as well!)
> (A similar scheme - sans undersampling - was implemented by Mark, WB7CAK,
> using an 8-bit A/D in the 1980's for experimental 10 baud BPSK reception on
> the "LowFER" bands using a Hitachi 64180 - a processor similar to the Z80:
> The similarities of the article to his implementation was one of the
> reasons why it stuck in my brain.)
> As for having the PIC "just" 10 bits, with a narrowband input filter and
> AGC and comparatively long time constants it should be practical to keep
> the A/D at mid-high scale, well out of quantization noise territory. If
> something more than a simple-minded sub-sampling of bit timing is used for
> detection (simultaneous, parallel detection of 0, 1, marker bits on that
> amplitude stream along with long-term integration of the
> beginning-of-second marker detection using even shorter detection windows,
> for example).
> While I've not done an "all in one" detection for a WWVB receiver, I've
> done most of the above pieces at one time or another (oversampling to
> down-convert, carrier recovery, sample/hold/integration) in separate
> projects on low-end PICs (e.g. 16F88, 18F series, etc.) and even some
> decent DSP using the PIC16F1847 for removal of mains harmonics in audio
> sampling at 32 kHz, so I believe that it *is* possible - and such should
> also be possible on an Arduino-type platform as well provided that one can
> obtain the needed control of the hardware layer.
> time-nuts mailing list -- time-nuts at febo.com
> To unsubscribe, go to
> and follow the instructions there.
More information about the time-nuts