How to build your own GPS receiver
For a hacker, the best way to understand how a system works is to break it down into its constituent parts, do a hell of a lot of research, and then rebuild it from scratch. Andrew Holme, a British hardware hacker, has built his own telephone exchange, magnetic core memory, a hardware-level Ethernet packet capturer, and now, donning the cupric crown, his very own GPS receiver.
The Global Positioning System is fundamentally very, very simple in its operation. At any one time there are between 24 and 32 GPS satellites that constantly orbit the Earth. They orbit in six distinct planes, with at least four satellites in each plane (see below). If you remember the high school simplification of how electrons orbit the nucleus of an atom, GPS satellites orbit Earth in a very similar way. Anyway, as a result, six satellites are within line of sight from almost every point on the ground — and to obtain a GPS fix, you need a good signal from just four. To compute your position, each GPS satellite constantly broadcasts its ephemeris data (its location) and the time. Your GPS receiver uses this data to triangulate your location.
Now…building your own GPS receiver is as “simple” as receiving and demultiplexing four GPS signals — but don’t let the image above fool you: there is a Xilinx FPGA dev board that performs real-time signal processing that isn’t pictured, and a Windows PC has a supervisory role, picking out healthy satellites, analyzing the data received, and so on. Holme had to solder the PCB himself, program the FPGA, and develop the PC controller software. The end result, though, is a system that can locate and measure the signal strength of every visible satellite in the sky, and provide a GPS lock, in 2.5 seconds; better than your smartphone or TomTom, most likely.
Being the true hacker that he is, Holme has made available all of the circuit diagrams and source code that you need to build your own GPS receiver. The total cost of parts isn’t given, but it will be at least a few hundred dollars unless you have a cache of bits lying around. It’s definitely the kind of thing that you could build with some rudimentary knowledge in electronic engineering, though.
Finally, just to add a soupçon of illicit naughtiness: every commercial GPS device must be restricted from working at altitudes above 60,000 feet and at speeds over 1,000 knots — to prevent you from building your own intercontinental ballistic missiles, which is actually the primary purpose of the US Department of Defence-created GPS. Holme’s homebrew GPS receiver has no such restrictions…
Post a Comment