[time-nuts] WWVB PSK demodulation; simple carrier regeneration?

Peter Monta pmonta at gmail.com
Tue Nov 20 07:52:00 UTC 2012


Here are a few demodulated frames of WWVB's new BPSK bits:

0011101101000 01101 0(0)001100111(0)011011011(0)1010110 00 0 000 000000 0
0011101101000 00100 0(1)001100111(1)011011011(1)1010111 00 0 000 000000 0
0011101101000 01000 0(0)001100111(0)011011011(0)1011000 00 0 000 000000 0

The fields are described in the NIST document [1]:  sync word, parity word,
time in binary minutes, and various metadata.  The bits in parentheses are
the "marker" bits which have less power; it appears they're using all three
as duplicates of time[0], the LSB of the time word.

Strong signal here in California, even during daytime.  My receiver is just
a hacked-up ferrite loop, JFET buffer, sound card, and Matlab.  About 300
Hz single-sided bandwidth.

So it's an interesting question:  what is the simplest device that can
change this signal into something the legacy WWVB receivers can track,
without any modification at all to the legacy receiver?  By "simplest" I
mean avoiding any intelligence like carrier acquisition, timing recovery,
or bit demodulation; but it should still have good noise performance to the
largest extent possible.

One candidate might be this:  multiply the signal by an estimate of its
phase one minute ago.  The frames are very similar minute-to-minute, as can
be seen above.  The exceptions are the parity word, changes in the
metadata, and rollovers in the time word involving large numbers of bits.
(I wish they had Gray-coded the time word, or, better, scrambled it in some
way so that the time word can't nearly emulate the sync word for many
minutes running, which looks like a risk with the current format.)  But
aside from this, the legacy receiver would be seeing carrier *
xor(minute_i, minute_(i-1)), which is mostly carrier, and should result in
good tracking.  It's like a differentially-coherent receiver in reverse.

The local oscillator would have to be accurate to a fraction of an RF cycle
over one minute, which works out to ~30 ppb, OCXO territory.  Is there some
way to do this with just a TCXO?  Maybe stability is all that's needed
rather than accuracy.

As for timing receivers, it's not clear to me that the BPSK helps at all.
The timing marker is the amplitude modulation, and, assuming no cycle slips
in the carrier loop, this can be averaged for as long as one likes to
refine the position of the falling edge (something like the "Hatch filter"
for GPS, carrier-aided code tracking).  The BPSK just helps the bit
demodulation; but the bits are so predictable---was help really needed
here, assuming a minimally-DSP-capable receiver?

Cheers,
Peter

[1] NIST-Enhanced-WWVB-Broadcast-Format-sept-2012-Radio-Station-staff.pdf


More information about the time-nuts mailing list