i, lfsr; lfsr = 0; for (i = 0; i < 512; i++) { unsigned int chip; chip = lfsr & 1; output_chip(chip); lfsr >>= 1; if (chip || !lfsr) lfsr ^= 0x110; } Each time code bit to be transmitted is exclusive-ored with the LFSR output. The final chipped sequence is used to modulate the transmitter phase. During 0 chips the carrier is transmitted with a +15.6° phase advance, while during 1 chips it is transmitted with a −15.6° phase lag. In lieu of the special minute marker used in the amplitude code, bit 59 is transmitted as an ordinary 0-bit, and the first 10 bits (seconds 0–9) are transmitted as binary 1. When compared to amplitude modulation, phase modulation makes better use of the available frequency spectrum and results in a more precise low frequency time distribution with less sensitivity to interferences. Phase modulation is however not used by many DCF77 receivers. The reason for this is the worldwide availability of the (precise time reference) signals transmitted by global navigation satellite systems like the Global Positioning System (GPS), GLONASS, Galileo and BeiDou. Due to the GPS signal structure and the larger bandwidth available, the GPS reception would, in principle, achieve an uncertainty of the time transmission that is lower by at least one order of magnitude than the uncertainty that can be achieved with DCF77 phase modulation receiving hardware (GPS time is accurate to about ± 10 to 30 nanoseconds and the Galileo April, May, June 2021 Quarterly Performance Report by the European GNSS Service Centre reported the UTC Time Dissemination Service Accuracy was ≤ 4.3 ns, computed by accumulating samples over the previous 12 months and exceeding the ≤ 30 ns target). Time code interpretation The time is represented in binary-coded decimal. It represents civil time, including summer time adjustments. The time transmitted is the time of the following minute; e.g. during December 31 23:59, the transmitted time encodes January 1 00:00. The first 20 seconds are special flags. The minutes are encoded in seconds 21–28, hours during seconds 29–34, and the date during seconds 36–58. Two flags warn of changes to occur at the end of the current hour: a change of time zones, and a leap second insertion. These flags are set during the hour up to the event. This includes the last minute before the event, during which the other time code bits (including