PA Consulting has taken a standard Raspberry Pi and used it to create a tiny GSM basestation in an attempt to show how this class of hardware can be used to build relatively complex products.
“We set out to prove that it can make mobile phones talk to each other,” says PA technology expert Alastair Smith.
As it lacks an RF interface, the PA team combined the Pi with a software-radio peripheral made by Ettus Research, commonly used by telecom engineers to experiment with different radio protocols. PA used the Ettus device to convert “digital signals at low frequencies up to the frequencies expected by a mobile handset,” Smith explains.
The remainder of the basestation functions run on the Pi itself. The £25 computer takes low-frequency baseband signals from the Ettus peripheral and processes them so that they can be relayed to the transmitter stage and on to the other phone via a second connection to the Ettus interface. To avoid running into regulatory issues and interference, PA conducted the experiment in a screened room.
To ease development, the engineers used two pieces of open-source software. The first is OpenBTS, which provides most of the functions needed to run a GSM basestation. OpenBTS has already been ported to a range of devices and even to mobile phones running Google’s Android operating system. The second piece of software that runs on the Pi is Freeswitch, which routes calls “in a similar way to Skype”, Smith said.
Most mobile phones and basestations employ a dedicated digital signal processor (DSP) to convert the low-frequency signals into digital data. However, the ARM processor inside the current version of the Pi does not have a DSP inside it. “We needed to carefully hand optimise the code base,” adds Smith.