Spring has not totally interrupted my sessions with WWVB (See: http://forum.allaboutcircuits.com/threads/selecting-best-antenna-type-for-wwvb.121386/#post-986466 ). My codes work fine for reading the sequence when there is no interference. The first attachment (in-sync scan) shows what the signal and marks can look like. Magenta is the signal from my receiver. Yellow marks the 1's and 0's being recorded. It is set with a "1" and cleared after a "0." Cyan marks the "zero minute" transition.

The next attachment shows an out-of-sync screen - note the small blip (^).

The pattern is still readable by the eye. However, unless the noise is really bad, it does not show on the oscilloscope (Rigol DS1054Z), but still screws up my reading of the signal. My current software will detect the noise, signal that the reception is not reliable, and reset, but it doesn't fix the noise. I would like to address the noise, much as the Rigol scope does. I have tried ignoring runt transitions (i.e., set a minimum peak width and simply continue timing without reset when a peak is very small). But, that did not work as well as I wanted it to.
Rigol averages multiple readings of each transition to get the signal it plots. Superficially, that may resemble debouncing a switch, but it uses an average, instead of a state. I am not sure of Rigol's algorithm, but following upon this reference and others, I am considering using a Finite Impulse Response (FIR) algorithm and am considering sampling about every 32 us and averaging 31 samples ( or 15, a nibble) to decide when there is a true transition. That will give me about 1 "averaged" sample every millisecond.
1) Does that sampling rate sound about right? (remember, the baud for WWVB is just 1).
2) Does anyone know with certainty what algorithm Rigol and other scopes use?
Regards, John

The next attachment shows an out-of-sync screen - note the small blip (^).

The pattern is still readable by the eye. However, unless the noise is really bad, it does not show on the oscilloscope (Rigol DS1054Z), but still screws up my reading of the signal. My current software will detect the noise, signal that the reception is not reliable, and reset, but it doesn't fix the noise. I would like to address the noise, much as the Rigol scope does. I have tried ignoring runt transitions (i.e., set a minimum peak width and simply continue timing without reset when a peak is very small). But, that did not work as well as I wanted it to.
Rigol averages multiple readings of each transition to get the signal it plots. Superficially, that may resemble debouncing a switch, but it uses an average, instead of a state. I am not sure of Rigol's algorithm, but following upon this reference and others, I am considering using a Finite Impulse Response (FIR) algorithm and am considering sampling about every 32 us and averaging 31 samples ( or 15, a nibble) to decide when there is a true transition. That will give me about 1 "averaged" sample every millisecond.
1) Does that sampling rate sound about right? (remember, the baud for WWVB is just 1).
2) Does anyone know with certainty what algorithm Rigol and other scopes use?
Regards, John
Last edited: