[time-nuts] New WWVB modulation format receivers

paul swed paulswedb at gmail.com
Fri Feb 21 10:14:32 EST 2014


Indeed the old Don Lancaster and Ralph Burhan articles were key to my
pre-time nuttery interests. But I am very interested in the psk31 approach.
I actually hacked around a bit with several of the Ham programs. But none
seemed to allow you to get to just the BPSK raw data. (I could have missed
the trick by the way) There were a couple of other items like getting to a
1 Hz rate. But that said that was one of my early attempts.

So if you think you can find the old PIC code and update it would be great
to see.
I am willing to take a solution you build and test it. By that I mean just
the pic with whatever you need to make it work Xtal, A/D or such special
things. Do not need power supplies, RF frontends etc I have the equipment
to  quantify behaviors.

A caution top consider. The solution must resolve the phase change in about
.1-.5 seconds.

If the PIC can track the noisey nasty behavior of LF and PSK31 does do
quite a good job then doing anything beyond that becomes very very
reasonable. Examples locking a local reference, decoding the signal and my
very fovorite is restoring all of the old phase tracking receivers back
into operation.
Regards
Paul.
WB8TSL



On Thu, Feb 20, 2014 at 11:09 PM, d0ct0r <time at patoka.org> wrote:

>
> Its still interesting to read an article from Radio-Electronics Magazine
> with date stamp back to August 1973. In that article Don Lancaster explain
> few classical techniques how to handle WWVB band.
>
> Regards,
> V.P.
>
>
>
> On 2014-02-20 20:42, Clint Turner wrote:
>
>> Several years ago I spotted a clever PIC-based software (DSP-ish)
>> approach to WWVB modulation - but it has thusfar defied my attempts to
>> find it via Google.  It was from the late 90's, early 2000's - and I
>> may have it in an archive somewhere.
>>
>> The exact details escape me, but I believe that it sampled at 8 kHz
>> and was fed a crystal-filtered WWVB signal at 60 kHz, putting this
>> bandwidth-limited, AGC-leveled signal directly into the PIC's A/D.
>>
>> If I've done my math correctly, that would yield a frequency-inverted
>> alias at 4 kHz.  The A/D was then mixed and/or decimated significantly
>> and a simple software-based carrier recovery scheme (a Costas loop,
>> maybe?) was implemented in this rather low-end PIC.  Because the TRF
>> bandwidth was on the order of just a few Hertz, it took a fairly
>> trivial amount of horsepower to implement.
>>
>> Presumably, at just one baud it should be practical to do this on more
>> modern PICs and AVRs using the same scheme.  The trick to homebrewing
>> this is to find a 60.003 kHz crystal - but one of these could be
>> swiped from a WWVB receiver module, or, perhaps, a source-follower
>> could be used to recover the phase component of the received carrier,
>> tapping off the signal from the BPF itself and making it available to
>> the processor.
>>
>> * * *
>>
>> Another scheme - one that I believe was poo-poohed a while back on
>> this list - is to simply take a bandpass filtered sample of around 60
>> kHz and throw it into a four-quadrant multiplier to yield a 120 kHz
>> signal sans phase shift.  I believe that the initial critique of this
>> was that this was not a particularly good way to recover a weak
>> signal, but I found it to be quite useful on a project some (15) years
>> ago.
>>
>> On this project, I had a 100 kHz pilot carrier modulated with NRZ BPSK
>> telemetry data and this same carrier was used to convey the reference
>> frequency to multiple, simulcast transmitters via a 33cm microwave
>> link.  At 100 kHz, I simply had an L/C bandpass filter that was
>> roughly 3-5 kHz wide on the transmit (to control the occupied
>> bandwidth when XOR-gate modulated) and a similar filter on the receive
>> end.  "Listening" to this 100 kHz center frequency, 3-5 kHz bandwidth
>> was a 1496 configured as a multiplier, the output of which was passed
>> through a simple filter constructed using 200 kHz crystals. The 200
>> kHz from the doubler output was then divided-by-two and used to
>> synchronously demodulate the BPSK data (after being filtered with
>> either a Bessel or Gaussian LPF) and this same recovered 100 kHz
>> signal was then made available to the master 10 MHz frequency
>> reference for locking.
>>
>> What impressed me was the fact that my input signal S/N could go about
>> 40 dB below the detection bandwidth of the BPSK signal and still
>> maintain perfect lock on the 100 kHz carrier, despite the fact that
>> the 1496 - which really doesn't make all that great of a doubler
>> compared with other available (but more expensive!) devices was being
>> pelted with 3-5 kHz of garbage when the S/N was purposely compromised.
>>  IIRC, the detection bandwidth of the crystal-based carrier recover
>> filter was on the order of a few 10ths of Hz.  Yes, the phase did vary
>> with temperature, but the rate-of-change was fairly slow and this fact
>> was inconsequential in our application.
>>
>> * * *
>>
>> The upshot of this is that it should be quite easy to do a simple
>> doubler-based carrier recovery system at 120 kHz (or something else,
>> if it's frequency-converted) and, since it may be a bit tricky to find
>> a cheap 120.006 kHz crystal, use an SCF clocked from a VCXO (or a
>> simple fractional divider/DDS implemented in software) to provide a
>> very narrow detection bandwidth that would satisfy the dynamics
>> associated with the usable signal range over which the WWVB carrier
>> could be reconstructed and the phase data could likely be recovered.
>> The AM output of a standard WWVB clock module could then be used to
>> aid in the windowing of a synchronous demodulator integrate-and-dump
>> filter to recover the phase information and make these two pieces
>> available to something like a PIC or an AVR/Arduino for crunching.
>>
>> In the (likely!) event of a signal that was too weak to recover the
>> amplitude information from the broader-bandwidth WWVB receiver module
>> it should be practical to oversample (say, by 8x) the output of the
>> synchronous demodulator and then infer the timing of the phase change
>> over a period of time since the minimum period of this is well known
>> (1 second!) and such timing could be (initially) autonomously applied
>> with very good stability until the timing of the phase change resolved
>> itself - something that could be correlated with a statistical
>> analysis of the output of the amplitude detector, as well.
>>
>> To a large degree, this sounds like a candidate for a "front end"
>> consisting of good old 4000 CMOS logic and a few op amps with the
>> output handed off to a fairly low-end, cheap processor module!
>>
>> 73,
>>
>> Clint
>> KA7OEI
>>
>>
>> _______________________________________________
>> time-nuts mailing list -- time-nuts at febo.com
>> To unsubscribe, go to https://www.febo.com/cgi-bin/
>> mailman/listinfo/time-nuts
>> and follow the instructions there.
>>
>
> --
> WBW,
>
> V.P.
>
> _______________________________________________
> time-nuts mailing list -- time-nuts at febo.com
> To unsubscribe, go to https://www.febo.com/cgi-bin/
> mailman/listinfo/time-nuts
> and follow the instructions there.
>


More information about the time-nuts mailing list