Many cellular M2M products need to know where they are. Fortunately there are several different technologies available but they vary in terms of accuracy, cost, and implementation complexity. Here is an overview.
The first option is to use a dedicated GPS module to get your location fix straight from the satellites. If you want to maximize your product’s ability to get an accurate location fix this is usually the best option. Standalone GPS modules offer the best sensitivity and, depending on the module, can be seeded with assisted GPS info to help minimize the time to first fix. They also include advanced power management options to maximize battery life. Like any RF device though the sensitivity is only as good as your antenna, board layout and the baseband portions of the design must not radiate into the GPS band.
Another option is using a cellular modem with an on-board GPS module. This option is very attractive for products that have to be small and board space is at a premium. Typically modems that include GPS capability cost more than those that do not, but the cost differential is more than the cost of a standalone GPS and antenna. Performance is usually not as good as a standalone GPS module and power saving features are more limited. Layout is slightly easier since all you need to worry about are noise spurs and matching the trace from the GPS antenna to the GPS antenna input on the modem.
Advanced Forward Link Trilateration, or AFLT, is being used to fill in the gaps where a GPS satellite signal just isn’t available. AFLT location fixes are determined by the modem looking for multiple cell towers, and using a combination of timing and signal strength metrics to determine where it is in relation to those towers. The accuracy of an AFLT fix depends on the number of towers visible to the modem, so it works well in urban areas, but accuracy can be pretty bad if you’re out in the sticks. Keep in mind that not all cellular modems support AFLT. The other thing to consider is that carriers limit the frequency with which a device can obtain an AFLT fix in order to control the amount of AFLT traffic on the network.
Finally, Google offers a Geolocation API that allows you to send the ID of the cell tower that the modem is connected to (along with signal strength and slot information for GSM modems) and obtain the location of the cell tower with an accuracy radius that the device should be within. The radius is not fixed – since cellular networks are more congested during the day, a daytime fix will have a tighter radius than a nighttime fix when individual towers are handling fewer modems. This is a pay-per-use solution if you make more than a certain number of queries in a 24 hour period and the count goes against your API key so it applies to all devices in the field, not just one. As of 2014 Google charges between $10K-20$K annually for the business license and still limits the number of queries to around 100k. Usually it works pretty well, but there are circumstances where it is simply wrong. Remember – the accuracy relies on Google having the correct latitude/longitude of every base station in the US. This is more prone to error than you might think. Another weakness is that geography can really fowl things up. Let’s say your device is traveling up a hill that overlooks a valley. At the bottom of the hill the modem may be connected to a tower close by, but let’s say that tower is obscured by a some small hills and trees. As you climb the hill you get line of site to a tower on the other side of the valley and the modem is handed off to that tower. Now the modem is connected to a tower miles away from the tower that is actually closest and you get an incorrect fix without even knowing it.
Depending upon the needs of the application you may choose to implement one or several of these approaches. AFLT is a great fall-back if GPS is not available but the carriers don’t want it to be overused. Google’s Geolocation API is great if accuracy isn’t critical, but it can be expensive. Both AFLT and Geolocation fixes are easier to obtain that an actual satellite fix, but are not as accurate in areas where there is adequate signal from the GPS satellites.