Author: Dan Maloney / Source: Hackaday
There’s a bug about to hit older GPS hardware that has echos of Y2K. Those old enough to have experienced the transition from the 1990s to the 2000s will no doubt recall the dreaded “Year 2000 Bug” that was supposed to spell the doom of civilization. Thanks to short-sighted software engineering that only recorded two digits for year, we were told that date calculations would fail en masse in software that ran everything from the power grid to digital watches.
Massive remediation efforts were undertaken, companies rehired programmers whose outdated skills were suddenly back in demand, and in the end, pretty much nothing actually happened.Yet another epoch is upon us, far less well-known but potentially deeper and more insidious. On Saturday April 6, 2019 — that’s tomorrow — GPS receivers may suffer from software issues due to rollover of their time counters. This could result in anything from minor inconvenience to major confusion, with an outside chance of chaos. Some alarmists are even stating that they won’t fly this weekend, for fear of the consequences.
So what are the real potential consequences, and what’s the problem with GPS in the first place? Unsurprisingly, it all boils down to basic math.
Epoch Story
GPS satellites are essentially super-accurate clocks in orbit, transmitting navigation messages at a screaming 50 bits per second. The navigation messages include a timestamp and information about the orbit of each satellite, which GPS receivers below can use to determine their location. Each full navigation message is 37.5 kilobits long, meaning that a full page of GPS data takes 12.5 minutes to transmit.
The navigation message is broken down into frames of 1500 bits, each divided into five 300-bit subframes that take 6 seconds each to transmit. Each 300-bit subframe is further divided into ten 30-bit words. The first 30-bit word of each subframe is a telemetry word, encoding certain information about the health of the satellite. The telemetry word is followed by a 30-bit time of week (TOW) word, which encodes the week number and time within that week. GPS time reckoning is a bit weird due to some gymnastics needed to encode the number of seconds in a week (604,800) into the 17 bits available in the TOW word after taking out 13 bits for parity and other uses. The TOW word actually represents the number of 1.5 second periods in a week, which is further divided by four, since there are four 1.5 second periods in the six seconds it takes each subframe to be transmitted.
Despite appearances, the complexity of time encoding on the space side of the GPS system is not the cause of the…
The post Countdown to the GPS Timepocalypse appeared first on FeedBox.