Time Codes are conventionally used as part of a time and frequency radio transmission. By coding the seconds pulses in a particular way, the receiving station can decode the time for the start of the following minute, and of course by counting the seconds, can follow the seconds as well. Most time code stations are on LF (DCF77 on 77.5kHz, HBG on 70kHz, JJY on 40kHz, JJY, MSF, WWVB and others on 60kHz). These are very stable, powerful, long range signals which are used by automatic clocks (commonly called 'radio clocks' or 'atomic clocks'). There are also a few time codes transmitted on HF, for example the 100Hz subcarrier used by WWV. In the South Pacific, VNG transmissions from Australia provided a very popular time-coded standard until their demise in 2000.
Another very handy application for time codes is to record them on tape or digital recorder along with astronomical or other data that needs an accurate time stamp. Time codes are popular with astonomers measuring transits of planets. With few HF time code transmissions now available, a portable, accurate time code generator is a useful device - more useful than a GPS unit when recordings are made.
This unit, when used with a low power V-TCXO oscillator, can be built as a small (hold it in your hand) portable time code generator, with or without clock display.
Time codes generally consist of seconds 'ticks' of different lengths, but all starting on the exact UTC second. The ticks have differing length, to signify where they are in the minute, and to send data. For example, in the VNG time code, the zero second is 500ms long, the 20th second is 200ms long to mark the start of the time data, and the 59th second is omitted completely. The time information is sent in BCD (binary coded decimal) format, one bit per second. Most transmissions send date and some other information as well as time. In order to be sure that the data is received correctly, parity (error detection) information is also sent. If the parity is wrong the data is ignored. Of course, new data is available in the next minute anyway.
The popular time codes can also be decoded by computer sound card software, such as COAA Radio Clock and F6CTE Clock. As a way of preserving the memory of the special sound and usefulness of the VNG time and frequency transmissions, this project generates the full VNG Time Code, except that it transmits the reference phase rather than the date. The time code is fully compatible with the PC time decoding software.
COAA Radio Clock decoding the VNG Time Code
In this picture you see COAA Radio Clock decoding the start of a minute (wide white dash at left in upper display), and the following shorter 50ms marks. The decoder 'slicer' threshold (red line in lower display) is AGC operated, and is used to determine the on and off state from the amplitude of the received signal (yellow marks). At the very bottom of the display, in the status line, you see the message 'Syn 23:48:09+00.0', which is the UTC time as decoded from the VNGBOX transmission.
As mentioned above, the VNG code starts the minute with a 500ms '0th' second tick. For the next 19 seconds, the ticks are 50ms long. The 20th second is 200ms long, and marks the start of the data, which is transmitted in seconds 21 to 46. Data=1 tick is 200ms long, data=0 is 100ms long. Second ticks 47 to 49 are again 50ms, while seconds 50 to 58 are 5ms long. Second tick 59 is omitted. Minute and hour data is separately protected by a parity bit. The time code is described in detail in Appendix III (page 6) of the VNG Leaflet and reproduced below.
In the ZL1BPU VNGBOX, the format is modified slightly. Because the transmissions may require voice or Morse ID, the second ticks 1 - 9 are omitted every 10 minutes (minutes ending with zero), and during this nine seconds the ID message can be inserted without interference from the ticks. Decoding of the time code is not affected. During the ID minutes. the 50ms ticks are continued up to second 54, with only seconds 55 - 58 reduced to 5ms, as in all other minutes. In all cases the ticks start within 50us of the GPS second event, and are accurate in timing to within 10us. A reference synchronous 1kHz tone is also generated, which can be used to generate modulated ticks, and this tone is also GPS synchronous, starting within 50us of the GPS second event.
The GPS Monitor Display generates a Morse message up to nine-seconds long. which can be triggered by the VNGBOX, and the message inserted in the data stream. The ticks are available as a digital 0/1 level, which can key the 1kHz tone, and the Morse ID is available as a digital level and as an 800Hz tone. With the clock advanced so the time code refers to the following minute, the ID will be transmitted at the start of the minute before the 10 minute event (minutes x9).
COAA Radio Clock showing the Morse ID
In the above picture the 500ms minute marker at the 10th minute is shown at the left, followed by the Morse ID 'ZL1BPU AR'. The speed can be adjusted so the message just fits in nine seconds. The keying can be direct carrier keying (as shown), or 1kHz sub-carrier or a sub-carrier supplied by the GPS Monitor Display. This sub-carrier frequency is directly related to the Morse speed, and is typically 500 - 800Hz (there are 100 cycles per Morse dot).
The following circuit can be used to generate 1kHz time-code ticks. If used for transmission or tape recording, substitute the primary of a small line transformer for the speaker. The sense of the ticks (i.e. generating gaps in a tone rather than ticks) can be achieved by reversing the diode. If transmitting the ticks, make sure you use a 1kHz low pass filter to knock off the third harmonic. This alternative circuit allows the ID and time code to be combined (where the GPS Monitor Display or another appropriate message generator is used).
A further interesting modification has been made to the time code, which does not affect decoding the time. Rather than transmitting the day of year, as in the original VNG code, the GPS locked reference phase is transmitted. This is a 12-bit binary number, transmitted LSB first, on seconds 36 to 47. There is no parity transmitted. While no software is available for reference phase decoding, with a keen ear and a bit of practice the data bits can be written down manually, and a calculator used to restore the number to decimal. The reference phase allows remote monitoring of the accuracy of the frequency reference. A change of 1 least significant bit in an hour represents 2.7 parts in 1011.
Time codes always transmit the time for the following minute, and so the VNG Clock must run one minute in advance of the UTC minute! For this and other reasons, the clock in the VNGBOX is an independent clock, tied only to the UTC second (from the GPS unit). Because the hours, minutes and seconds can be set independently of the time provided in any GPS message, the clock can be set to display and transmit any time, any time zone, and with any offset that is a multiple of one second. The normal setting is UTC plus one minute, in order to transmit a correct UTC time code.
The clock time is set from a PC connected to the VNGBOX serial port. Serial commands briefly disrupt the time keeping, and so the time setting should be done after all other commands (for example setting the reference control parameters) are completed. No display is necessary for time setting or time code use. The PC software also displays the clock time, and the serial telemetry is completed within 20ms of the UTC second event.
The only disadvantage of a clock such as this (essentially a software clock) is that if power is lost, so is the time. Power failure is detected, and indicated on the display (and to the PC via the telemetry). The time code generation is disabled automatically until the clock has been restarted. For complete time reliability, it is important therefore to operate a unit such as this from an un-interruptable power supply.
The clock continues to keep time accurately if the GPS fix is lost, or if the GPS 1pps pulse is lost. The time code generator will be turned off. Time will resynchronize to GPS and the time code will be restored when correct GPS operation is restored, and no time error should be noticed if the failure was less than for a few weeks in duration.