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
Modified -
7Jan02