DCF77 Encoder & Decoder

Tool for encoding and decoding DCF77 time signal

Encodes a given date and time into a 59-bit DCF77 frame (BCD-coded minute, hour, date, weekday, month and year, with parity and DST bits), or decodes a pasted 59-bit sequence back into date and time. A live-clock mode continuously generates the DCF77 frame for the current minute and highlights the bit being transmitted at each second, useful for understanding the bit timing of the German longwave time signal.

DCF77: German time signal transmitted at 77.5 kHz from Mainflingen.
Format: 59 bits per minute, each bit lasts 1 second (0 = 100ms drop, 1 = 200ms drop of carrier wave)
Information: Minute, hour, date, day of week, month, year, DST/standard time, parity bits
Mode Selection

Bit 0: Start of minute (always 0)
Bits 1-14: Reserved (weather, warnings, etc.)
Bit 15: Backup antenna flag (R)
Bit 16: DST change announcement in 1 hour (A1)
Bit 17: Daylight time CEST = 1, Standard time CET = 0 (Z1)
Bit 18: Daylight time CEST = 0, Standard time CET = 1 (Z2, inverse of Z1)
Bit 19: Leap second in 1 hour (A2)
Bit 20: Start of time information (always 1, marker 'S')
Bits 21-27: Minute (BCD, 00-59)
Bit 28: Minute parity (P1, even parity)
Bits 29-34: Hour (BCD, 00-23)
Bit 35: Hour parity (P2, even parity)
Bits 36-41: Day of month (BCD, 01-31)
Bits 42-44: Day of week (1-7, Mon=1, Sun=7)
Bits 45-49: Month (BCD, 01-12)
Bits 50-57: Year (BCD, 00-99, last 2 digits)
Bit 58: Date parity (P3, even parity of bits 36-58)
Bit 59: No signal (start of new minute)

BCD encoding: Binary-Coded Decimal - each decimal digit is encoded with 4 bits

Parity: Even parity means the number of ones including parity bit must be even

Bit 59: In actual DCF77 signal, bit 59 is missing (no carrier wave), marks start of new minute

Value BCD Bits (LSB → MSB)
000000 0 0 0
100011 0 0 0
501011 0 1 0
910011 0 0 1
23 (hours)0010 00111 1 0 0 - 1 0
59 (minutes)0101 10011 0 0 1 - 1 0 1

Note: DCF77 transmits bits from least significant (LSB) to most significant (MSB)

© 2020 fotoventus.cz