Hacker News new | ask | show | jobs
by Swannie 4836 days ago
+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.
1 comments

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.