What do Einstein, Cesium, Satellites, and clocks have to do with the GPS roll over? More than you might think.

On April 6th, the American GPS system is going to “roll over” and it may cause malfunctions in older systems. In advance of this event, many companies that have GPS components in their equipment are making announcements about whether they’re affected by this or not.

Notably, the world’s leader in drone hardware, DJI, has already made an announcement that their drones will not be affected by this.

But what is a roll over anyway? And why is this such a big deal?

The roll over is referring to the way that dates are stored in the GPS satellites. As it turns out, time is an extremely important factor in determining position for reasons we’ll examine later. Let’s start out with what the roll over actually means.

As part of the date, the GPS satellites store the number of weeks since an epoch date. This is stored in binary and the size of that is 10 bits. This may sound terribly technical but it’s not. 10 bits simply means there are 10 positions to use to store that number. In binary, we count only with zero and one so for example.

0 = 0
1 = 1
2 = 10
3 = 11
4 = 100
1022 = 1111111110
1023 = 1111111111

What do you do when it gets to the 1024th week?! If your software and hardware has accounted for this eventuality, you’re fine. If not, you’re likely to have some very confused GPS receivers. If you were alive in the late 1990’s, this bug is not entirely unlike the Y2K bug.

But why is time so critical to GPS receivers? To understand this, we need to understand a little bit about how GPS works and some basic physics.

First, onboard each GPS satellite is an atomic clock. They use Cesium to keep track of the time within 2ns, or two billionths of a second. In conjunction with their very accurate clocks, they also know where they are because of the orbit that they’re in. The satellites package up these two pieces of information and send it out in a one way signal.

When your device with a GPS receiver boots up, it’s looking for at least 3 satellites to perform a process called trilateration. (The nerdier reader might notice that this process of positioning is not called triangulating and ask why. Since GPS is for a planet and not a circle, it needs to use spheres instead of circles to determine position — and that’s called trilateration.) It reads the signals from those satellites and performs the complex calculations to determine where you are in relation to those three or more satellites.

When I say complex, I really do mean complex. The GPS satellite network is so sensitive that it begins to demonstrate the effects of “General Relativity” and “Special Relativity.” Because the array of satellites lives about 11,000 miles above the earth, they’re far enough away from the gravitational pull of the earth that time actually moves relatively faster for them. How much so? About 37,000 nano seconds everyday. This is an effect of “General Relativity”. And because the satellites are moving about 8,700 mph high above the earth, and we are sitting comfortably stationary here on the ground, they’re subjected to “Special Relativity” or the idea that a stationary observer will see things differently than someone on board the satellite due to the speed it’s traveling at.

Special Relativity is why you’re comparatively time-traveling the smallest bit every time you fly in a commercial airliner compared to your friends sitting back down on the ground. This accounts for about 8000 nano seconds of difference to the person trying to fly their drone, hail their Uber, or get directions to the hottest new dumpling place in town. Luckily, your GPS receiver takes care of all of these complex calculations for you.

So in conclusion, while the solution here may just seem as easy as adding another space for another couple of bits, this small design decision had a real impact on the integrity of the GPS system as a whole. Understanding how time and space relate, particularly as it relates to geo-positioning, is why an event like a date roll over is actually kind of a big deal.