Scratchbuilt CHU Receiver


Address: 127.127.7.u
Reference ID: CHU
Driver ID: CHU
Serial Port: /dev/chuu; 300 baud, 8-bits, no parity
Features: chu_clk


This driver supports a shortwave receiver and special modem circuitry described in the ./gadget directory of the xntp3 distribution. It requires the chu_clk line discipline or streams module described in the Line Disciplines and Streams Drivers page. It also requires a gadget box and 300-bps modem, such as described in the Pulse-per-second (PPS) Signal Interfacing page.

Unlike the NIST time services, whose timecode requires quite specialized hardware to interpret, the CHU timecode can be received directly via a serial port after demodulation. While there are currently no known commercial CHU receivers, the hardware required to receive the CHU timecode is fairly simple to build. While it is possible to configure several CHU units simultaneously, this is in general not useful.

The time1 fudge option can be used to set the CHU propagation delay, compensate for inherent latencies in the serial port hardware and operating system. The default value is 0.0025 seconds, which is about right for Toronto. Values for other locations can be calculated using the propdelay program in the util directory of the xntp3 distribution or equivalent means.

The time2 fudge option can also be used to compensate for inherent latencies in the serial port hardware and operating system. The value, which defaults to zero, is in addition to the propagation delay provided by the time1 option. The default value is 0.0002 seconds, which is about right for typical telephone modem chips.

The flag1 option can be used to modify the averaging algorithm used to smooth the clock indications. Ordinarily, the algorithm picks the median of a set of samples, which is appropriate under conditions of poor to fair radio propagation conditions. If the clock is located relatively close to the WWV or WWVH transmitters, setting this flag will cause the algorithm to average the set of samples, which can reduce the residual jitter and improve accuracy.

Monitor Data

When enabled by the flag4 fudge flag, every received timecode is written as-is to the clockstats file.

Fudge Factors

time1 time
Specifies the time offset calibration factor, in seconds and fraction, with default 0.0.

time2 time
Not used by this driver.

stratum number
Specifies the driver stratum, in decimal from 0 to 15, with default 0.

refid string
Specifies the driver reference identifier, an ASCII string from one to four characters, with default CHU.

flag1 0 | 1
See above.

flag2 0 | 1
Not used by this driver.

flag3 0 | 1
Enable ppsclock line discipline/streams module if set.

flag4 0 | 1
Enable clockstats recording if set.

Additional Information

Reference Clock Drivers

David L. Mills (