Hacker News new | ask | show | jobs
by frazerb 4837 days ago
How to shrink a basestation into a Raspberry Pi. http://www.youtube.com/watch?v=GCcKgrzbix4 It's not the handset, but rather the basestation. But the concept is similar. I saw this working. It works. And there are open-source versions of the handset software too, although not as mature as OpenBTS.
1 comments

Actually what these guys don't mention is that the Raspberry Pi is plugged into a relatively huge USRP, because that kind of blows their whole "Look how tiny it is" PR out of the water.
+5. You can run the whole stack on a router. It's basically doing call control for a couple of channels. The heavy lifting is done in USRP.
The host part of OpenBTS is not just call control(Freeswitch or Asterisk provides most of the call control part).

OpenBTS is a software defined radio and really does most of the processing in software. The USRP provides the radio interface, up/down conversion between baseband and carrier frequencies and the analog/digital conversion.

The USRP just sends/receives those samples without caring or knowing about GSM. Samples are processed in software on the host, where the GSM stack is implemented.

There's other hacks(http://www.youtube.com/watch?v=xFjVcxMpA6c) where you can just use a couple of phones as the transceiver instead of the USRP.

Right, call control with asterisk, and GSM stack in software.

As far as I was aware, the GSM processing isn't much more intensive than equivalent: Ethernet packet assembly + TCP/IP + HTTPS?

I thought all the DSP happened in USRP. So out of that, you get a bit stream, that is sliced into frames, and then processed like any network stack?

No, OpeBTS does the GSM related DSP. You get a stream of I/Q samples from the USRP, which is more or less just the digitalization of the baseband. OpenBTS carves the time slots and "frames" out of this, does the GMSK de-modulation and similar stuff.

Note that the lower layers of GSM is very different from e.g. ethernet. Once you get past all the very gory stuff up to layer 2, the concepts are pretty much the same though.