Determination of coordinates using GPS is a very energy-intensive process. Unlike smartphones, which still recharge every evening, or car navigators, autonomous GPS trackers, which biologists use to track animal migrations, have very stringent energy requirements. Quite often they are supplied not only with powerful batteries, but also with solar batteries in order to ensure operation for many months.
Microsoft Research proposed to divide the process of collecting geolocation information into two stages - recording a “raw” signal from GPS satellites and calculating coordinates based on this information. This reduced the power consumption for recording one track point by three orders of magnitude. To understand exactly how you managed to achieve this, you will first have to figure out how GPS works.
Determination of coordinates in the GPS system is a fairly complex and confusing scheme. Each GPS satellite is equipped with ultra-accurate atomic clocks, which are also periodically synchronized with ground stations. The same stations are used to clarify the parameters of the orbits of satellites. The orbits are chosen in such a way that at any time at least six satellites are visible at any time over any point on Earth. The height of the orbit is about 20,200 kilometers, the orbital period is half the Earth day.
Each satellite radiates radio signals in the ranges of 1575.42 and 1227.60 MHz. In civilian receivers, the first one is usually used. All satellites operate at the same frequency, and code-division multiple access (
CDMA ) is used to distinguish their signals. Each satellite has its own unique pseudo-random 1023-bit code (
Gold code ), which is broadcast 1000 times per second. This code is used to identify satellites and determine the delay in arrival of signals from each of the satellites.
')
So-called navigation messages are transmitted over this signal using additional modulation of the carrier frequency at a rate of only 50 bps, which contain the exact coordinates of the satellite orbit (“ephemeris”), the exact system time and almanac data — the ephemeris of the remaining satellites of the system. This data is divided into 25 fragments of 1500 bits each, therefore the full navigation message is transmitted 12 minutes 30 seconds.
According to the delay time, the receiver calculates (via the speed of light) the exact distances to the satellites, and gets their coordinates from the navigation messages, after which it can calculate its own. Deciphering and interpreting the receiver is a rather complicated task, since it is necessary to take into account many factors contributing to errors - the Doppler effect caused by the movement of satellites and the receiver, the change in radio signal speed during the passage of the ionosphere, reflections from surrounding objects and others.
As a rule, the receiver does not need to receive a full navigation message, most often missing the first fragment containing the necessary minimum of information. If the receiver has been turned off for quite a long time, more fragments have to be taken, and obtaining the coordinates of the first point can take up to several minutes (“cold start”). In the mode of continuous tracking of coordinates, the receiver relies on already received navigation data and determines the position almost immediately.
If the device is able to receive information from other sources - GSM or WiFi networks, Assisted GPS (
A-GPS ) technology is often used. In this case, the current ephemeris and almanac data obtained from a relatively high-speed network, as well as coarse geolocation data based on the position of the towers and access points, make it possible to take into account all the necessary corrections much faster and calculate the coordinates.
So back to the Microsoft Research tracker. The solution proposed by scientists is called Cloud-Offloaded GPS (CO-GPS). It is simple and effective. Instead of ready coordinates, for which you need to do all the above-mentioned manipulations, it is proposed to record only short fragments of the "raw" GPS signal on the built-in flash memory, which will then be uploaded to the cloud server and all complex calculations will be made already there. Instead of navigation messages, the exact coordinates of the orbits of satellites can be obtained from publicly available
GNSS databases.
In order to determine the coordinates with an accuracy of about 30 meters, you need only five GPS signal fragments with a duration of 2 milliseconds with intervals between them not exceeding 50 ms. A thousand points recorded in this way occupy about one megabyte - it is much more than ready-made coordinates, but flash memory costs a penny.

An experimental tracker created by Microsoft Research engineers for concept verification and experimentation showed that a total of 0.407 mJ of electricity was required to record one 2-ms fragment. To determine the exact coordinates, you need only a few such fragments, so that the total consumption will be on the order of one millijoule, whereas an ordinary modern smartphone with A-GPS spends about joule per point. If you record points every second, two AA batteries will last for a year and a half of continuous operation.
When recording raw data, another problem arises - the synchronization of the exact time, which is impossible without decoding the GPS signal. If the tracker’s clock out of sync with the system time is more than a minute, it is difficult to get accurate data from the raw signal. To solve this problem, a small time signal receiver
WWVB was built into the tracker - these signals are transmitted by the National Institute of Standards and Technology of the USA and confidently received in almost any conditions throughout the United States (Transmitter power is 70 kW, time is synchronized by atomic clocks). To achieve acceptable accuracy, it is enough to synchronize the internal clock with the WWVB signals only a few times a month.
Thus, the CO-GPS technology allows you to get rid of most of the complex filling of the GPS tracker, which performs calculations, replacing it with flash memory of a larger volume and a simple and economical receiver of accurate time signals. Most of the time of operation, the tracker will be in sleep mode, the GPS signal receiver only needs to be switched on for only 10 ms to record one point. Naturally, such a receiver will not be able to receive coordinates in real time, which is quite convenient for biologists who are ready to wait several months until the tracker is removed from the animal.
However, given the rapid spread of broadband wireless communications in cities, CO-GPS can be used in consumer, "urban" devices. It is enough to send several kilobytes of raw data to the server on a cheap high-speed network every few seconds, getting the coordinates almost as fast as in the case of a regular receiver.
Download a PDF with a detailed description of CO-GPS
here .