PIC Based WWVB Decoder

By: Steve Hageman

Here is my WWVB decoder based on a 16C84 PIC. The software is written in CCS 'C'. The decoder design allows you to connect either an inverted or non-inverted WWVB signal from any receiver. The design works well with input levels 200 mV-4V pk-pk. I have used this decoder with my TRF VLF receiver and my HP-310 connected to a 4 square, east-west facing loop at my house.

The TRF design has the WWVB time code non-inverted, while the HP-310 inverts the WWVB signal.

The output of the decoder is to an 2 line LCD display that shows the GMT time broadcast from WWVB. If synchronization is lost with WWVB, the code will re-synchronize when the signal returns to a usable level.

The program incorporates a unique noise reduction feature to clean up noisy signals. At the point where it makes a decision as to whether the sent code is a '1' or a '0', the program samples the signal 5 times at 5 mS intervals. If three out of the samples are '1's then it is assumed that the signal is a '1', else the signal was a zero.

This behavior tries to clean up slightly noisy signals by 'Averaging' the digital signal some.

Keywords: Atomic Clock WWVB Decoder decoding NIST WWVB Receiver 


|
Comments?| |To Steve's Workshop Home|


Modified - 7Jan02