Clint, Is this the design you are looking for?
http://webpages.charter.net/ekyle/WWVB.html -Neil On Thu, Aug 6, 2015 at 12:04 PM, Clint Turner <[email protected]> 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. > > 73, > > Clint > KA7OEI > > > _______________________________________________ > time-nuts mailing list -- [email protected] > To unsubscribe, go to > https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts > and follow the instructions there. > _______________________________________________ time-nuts mailing list -- [email protected] To unsubscribe, go to https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts and follow the instructions there.
