IRIG timecode explained

Inter-range instrumentation group timecodes, commonly known as IRIG timecode, are standard formats for transferring timing information. Atomic frequency standards and GPS receivers designed for precision timing are often equipped with an IRIG output. The standards were created by the Tele Communications Working Group of the U.S. military's Inter-Range Instrumentation Group (IRIG), the standards body of the Range Commanders Council. Work on these standards started in October 1956, and the original standards were accepted in 1960.

The original formats were described in IRIG Document 104-60, later revised and reissued in August 1970 as IRIG Document 104-70, upgraded later that year as the IRIG Document to the status of a Standard, IRIG Standard 200-70. The latest version of the Standard is IRIG Standard 200-16 from August 2016.

Timecodes

The different timecodes defined in the Standard have alphabetic designations. A, B, D, E, G, and H are the standards currently defined by IRIG Standard 200-04.

The main difference between codes is their rate, which varies between one pulse per minute and 10,000 pulses per second.

Bit rate Bit time Bits per frame Frame time Frame rate
A1000 Hz 1 ms 100 0.1 s 10 Hz
B100 Hz 10 ms 100 1 s 1 Hz
C2 Hz 0.5 s 120 60 s  Hz
D Hz 60000 ms 60 3600 s  Hz
E10 Hz 100 ms 100 10 s 0.1 Hz
G10000 Hz 0.1 ms 100 0.01 s 100 Hz
H1 Hz 1000 ms 60 60 s  Hz

The bits are modulated on a carrier. A three-digit suffix specifies the type and frequency of the carrier, and which optional information is included:

Modulation type:
  1. DC level shift (DCLS) (pulse width coded without carrier)
  2. Sine wave carrier (amplitude modulated)
  3. Manchester modulated
Carrier frequency
    1. No carrier (DCLS)
    2. 100 Hz (10 ms resolution)
    3. 1 kHz (1 ms resolution)
    4. 10 kHz (100 μs resolution)
    5. 100 kHz (10 μs resolution)
    6. 1 MHz (1 μs resolution)
    Coded expressions
  • Binary-coded decimal (BCD) day of year, hours, minutes, and (for some formats) seconds and fractions are always included. Optional components are:

    The types are:

    1. BCD, CF, SBS
    2. BCD, CF
    3. BCD
    4. BCD, SBS
    5. BCD, BCD_Year, CF, SBS
    6. BCD, BCD_Year, CF
    7. BCD, BCD_Year
    8. BCD, BCD_Year, SBS

    The recognized signal identification numbers for each format according to the standard 200-04 consist of:

    Permissible Code Formats! Format! Modulation Type! Carrier Frequency! Coded Expressions
    A0,1,20,3,4,50,1,2,3,4,5,6,7
    B0,1,20,2,3,4,50,1,2,3,4,5,6,7
    D0,10,1,21,2
    E0,10,1,21,2,5,6
    G0,1,20,4,51,2,5,6
    H0,10,1,21,2

    Thus the complete signal identification number consists of one letter and three digits. For example, the signal designated as B122 is deciphered as follows: Format B, Sine wave (amplitude modulated), 1 kHz carrier, and Coded expressions BCDTOY.

    The most commonly used of the standards is IRIG B, then IRIG A, then probably IRIG G. Timecode formats directly derived from IRIG H are used by NIST radio stations WWV, WWVH and WWVB.

    For example, one of the most common formats, IRIG B122:

    IRIG B122 transmits one hundred pulses per second on an amplitude modulated 1 kHz sine wave carrier, encoding information in BCD. This means that 100 bits of information are transmitted every second. The time frame for the IRIG B standard is 1 second, meaning that one data frame of time information is transmitted every second. This data frame contains information about the day of the year (1–366), hours, minutes, and seconds. Year numbers are not included, so the timecode repeats annually. Leap second announcements are not provided. Although information is transmitted only once per second, a device can synchronize its time very accurately with the transmitting device by using a phase-locked loop to synchronize to the carrier. Typical commercial devices will synchronize to within 1 microsecond using IRIG B timecodes.

    Timecode structure

    IRIG timecode is made up of repeating frames, each containing 60 or 100 bits. The bits are numbered from 0 through 59 or 99.

    At the start of each bit time, the IRIG timecode enables a signal (sends a carrier, raises the DC signal level, or transmits Manchester 1 bits). The signal is disabled (carrier attenuated at least 3×, DC signal level lowered, or Manchester 0 bits transmitted), at one of three times during the bit interval:

    Bit 0 is the frame marker bit Pr. Every 10th bit starting with bit 9, 19, 29, ... 99 is also a marker bit, known as position identifiers P1, P2, ..., P9, P0. Thus, two marker bits in a row (P0 followed by Pr) marks the beginning of a frame. The frame encodes the time of the leading edge of the frame marker bit.

    All other bits are data bits, which are transmitted as binary 0 if they have no other assigned purpose.

    Generally, groups of 4 bits are used to encode BCD digits. Bits are assigned little-endian within fields.

    In IRIG G, bits 50–53 encode hundredths of seconds, and the years are encoded in bits 60–68.

    Not all formats include all fields. Obviously those formats with 60-bit frames omit the straight binary seconds fields, and digits representing divisions less than one frame time (everything below hours, in the case of IRIG D) are always transmitted as 0.

    No parity or check bits are included. Error detection can be achieved by comparing consecutive frames to see if they encode consecutive timestamps.

    Unassigned 9-bit fields between consecutive marker bits are available for user-defined "control functions". For example, the IEEE 1344 standard defines functions for bits 60–75.

    IRIG timecode

    Weight MeaningBit Weight MeaningBit Weight MeaningBit Weight MeaningBit Weight Meaning
    bgcolor=lightpink00 bgcolor=lightpinkPr bgcolor=lightpinkFrame marker20 1 Hours
    (0–23)
    40 100 Day of year
    (1–366)
    bgcolor=lightgrey60 bgcolor=lightgrey0 Unused,
    available for
    Control
    Functions
    80 1 Straight
    Binary
    Seconds
    (0–86399)
    01 1 Seconds
    (00–59)
    21 241 200bgcolor=lightgrey61 bgcolor=lightgrey081 2
    02 222 4bgcolor=lightgrey42 bgcolor=lightgrey0 Unusedbgcolor=lightgrey62 bgcolor=lightgrey082 4
    03 423 8bgcolor=lightgrey43 bgcolor=lightgrey0bgcolor=lightgrey63 bgcolor=lightgrey083 8
    04 8bgcolor=lightgrey24 bgcolor=lightgrey0bgcolor=lightgrey44 bgcolor=lightgrey0bgcolor=lightgrey64 bgcolor=lightgrey084 16
    bgcolor=lightgrey05 bgcolor=lightgrey025 1045 0.1 Tenths of seconds
    (0.0–0.9)
    bgcolor=lightgrey65 bgcolor=lightgrey085 32
    06 1026 2046 0.2bgcolor=lightgrey66 bgcolor=lightgrey086 64
    07 20bgcolor=lightgrey27 bgcolor=lightgrey0 Unused47 0.4bgcolor=lightgrey67 bgcolor=lightgrey087 128
    08 40bgcolor=lightgrey28 bgcolor=lightgrey048 0.8bgcolor=lightgrey68 bgcolor=lightgrey088 256
    09 P1 Position identifier29 P3 Position identifier49 P5 Position identifier69 P7 Position identifier89 P9
    10 1 Minutes
    (00–59)
    30 1 Day of year
    (1–366)
    50 1 Year
    (00–99)
    bgcolor=lightgrey70 bgcolor=lightgrey0 Unused,
    available for
    Control
    Functions
    90 512
    11 231 251 2bgcolor=lightgrey71 bgcolor=lightgrey091 1024
    12 432 452 4bgcolor=lightgrey72 bgcolor=lightgrey092 2048
    13 833 853 8bgcolor=lightgrey73 bgcolor=lightgrey093 4096
    bgcolor=lightgrey14 bgcolor=lightgrey0bgcolor=lightgrey34 bgcolor=lightgrey0bgcolor=lightgrey54 bgcolor=lightgrey0bgcolor=lightgrey74 bgcolor=lightgrey094 8192
    15 1035 1055 10bgcolor=lightgrey75 bgcolor=lightgrey095 16384
    16 2036 2056 20bgcolor=lightgrey76 bgcolor=lightgrey096 32768
    17 4037 4057 40bgcolor=lightgrey77 bgcolor=lightgrey097 65536
    bgcolor=lightgrey18 bgcolor=lightgrey0 bgcolor=lightgreyUnused38 8058 80bgcolor=lightgrey78 bgcolor=lightgrey0bgcolor=lightgrey98 bgcolor=lightgrey0 bgcolor=lightgreyUnused
    19 P2 Position identifier39 P4 Position identifier59 P6 Position identifier79 P8 Position identifier99 P0 Position identifier

    IRIG J timecode

    IRIG standard 212-00 defines a different time-code, based on RS-232-style asynchronous serial communication.The timecode consists of ASCII characters, each transmitted as 10 bits:

    The on-time marker is the leading edge of the first start bit.

    IRIG J-1 timecode consists of 15 characters (150 bit times), sent once per second at a baud rate of 300 or greater:

    <SOH>DDD:HH:MM:SS<CR><LF>

    At the end of the timecode, the serial line is idle until the start of the next code. There is no idle time between other characters.

    IRIG J-2 timecode consists of 17 characters (170 bit times), sent 10 times per second at a baud rate of 2400 or greater:

    <SOH>DDD:HH:MM:SS.S<CR><LF>

    This is the same, except that tenths of seconds are included.

    The full-timecode specification is of the form "IRIG J-xy", where x denotes the variant, and y denotes a baud rate of 75×2y.

    Normally used combinations are J-12 through J-14 (300, 600, and 1200 baud), and J-25 through J-29 (2400 through 38400 baud).

    Combination J-xy variant (x) y 2y Baud = 75 × 2y
    J-12124300
    J-13138600
    J-1414161200
    J-2525322400
    J-2626644800
    J-27271289600
    J-2828 25619200
    J-292951238400

    See also

    External links