What is a software GPS, what does it have to do with Tensilica DSP IP, and why would anyone care? To answer that, let’s start with a quiz from the transportation industry. How many shipping containers are currently in transit around the world? It turns out that no one knows for sure, but the best guess is that there are about 20 million containers in service today. And it’s a safe bet that those containers are carrying hundreds of billions of dollars worth of cargo. With that much at stake, the shippers, ports, railroads and trucking firms do their best to keep track of them, typically using RFID tags. But while those tags can be tracked at a waypoint, a better solution would be to use a GPS-enabled active monitoring system to constantly report their location. In fact, a smart system could report its entire history: where it had been, the temperatures it experienced, whether it went by boat, train, or truck, and has it been dropped? That would be really valuable information! This is just one of many possible applications for GPS-enabled systems that will become more and more common as new types of devices emerge to populate the Internet of Things (IoT).
But while we can imagine all kinds of sophisticated devices for IoT applications, there is a common design constraint that they all must meet—cost. Smartphones are driven by performance and power, automotive electronics are driven by safety, but low cost is priority number one for IoT devices. In fact, the proliferation expected for the IoT is predicated on low unit cost. And that leads us to something called the software GPS. To understand what it entails, I interviewed Gerard Andrews, director of marketing for Tensilica products at Cadence.
Gerard explained to me that what we generically call GPS is more accurately described as a Global Navigation Satellite System (GNSS), and there’s more than one of them. According to GPS.gov, “Examples of GNSS include Europe’s Galileo, the USA’s NAVSTAR Global Positioning System (GPS), Russia’s Global’naya Navigatsionnaya Sputnikovaya Sistema (GLONASS) and China’s BeiDou Navigation Satellite System.” All these systems require different receivers to work. That means a lot of hardware complexity, which translates to more silicon area to hold the circuitry, which translates to higher cost. Not good for the IoT.
According to Gerard, “That’s where the idea of a software GPS comes into play. A software GPS is a program that contains all the signal processing instructions needed to calculate location coordinates but is designed to run on a general-purpose processor instead of being implemented as logic gates in an ASIC chip”. Before going on, let’s take a second to note that both software GPS implementations and ASIC implementations still need an RF chip to handle the antenna interface, it’s the calculations done on the received data that are done in software.
Let’s now make the assumption that most IoT devices already contain some sort of processor to manage its basic tasks, say integrating data from multiple sensors. That same processor could be made to do double duty by running the software GPS, and that’s where the cost savings come into play. Such an implementation would necessarily be much lower performance than a dedicated hardware implementation, but that is generally not a problem for IoT applications. In the shipping container scenario, it would be fine if the location were updated every hour or so instead of every second or so as for automotive applications.
Since Cadence® Tensilica® DSPs are increasingly being designed into IoT devices, they were a prime candidate for software GPS developers to target. If fact, Cadence just announced that the Software-Based GPS receiver from Galileo Satellite Navigation is now available on Cadence Tensilica Fusion F1 DSP.
As it turns out, the unique advantages of Tensilica DSPs enable the software GPS to achieve the intended cost savings with minimal power drain, and to accomplish that with surprising performance. Gerard noted that Tensilica DSPs are already known for being extremely energy efficient across a broad range of applications spanning audio processing, vision processing, neural network processing, cellular communications, and sensor fusion. What delivers the surprising performance is the inherent extensibility of the Tensilica processor technology. By leveraging the Tensilica Instruction Extension (TIE) language, DSP implementers can easily add specialized DSP instructions to optimally implement the desired algorithms. Gerard explained, “The TIE language is easy to use, so companies like Galileo, who have deep domain expertise but limited DSP expertise, can customize the Tensilica DSPs themselves”. With their unique TIE code, Galileo was able to implement their software GPS on the low-cost Fusion F1 DSP while delivering the same throughput as non-TIE enabled code running on processors with 4x the native compute performance. Getting the most out of smaller processors translates to big cost and power savings-exactly the things needed to deliver on the promise of the IoT.