Multicarrier OpenBTS on UmTRX

Thomas Tsou ttsou at
Thu Oct 25 18:16:20 UTC 2012

Hi all,

I spent some time yesterday testing UmTRX with MCBTS. Aside from some
trivial fixes (inverted sample rate), the code ran fine with no
issues. The default bandwidth of the LPF was insufficient, so that was
widened. I tested with 9 handsets between 3 and 7 carriers on a Core2
Duo (P7570) laptop.

  git:// umtrx

Configuration is through sqlite database, which is unchanged from
mainline; just set the number of ARFCN (7 max) and C1 channels.
Because of the bandwidth involved, be sure to increase the maximum
buffer sizes for UHD. The uhd_usrp_probe utility will warn if the
target size cannot be set.

There are three resampling stages.

1. Outer resampler converts from the device rate to a multiple of the
400 kHz channel spacing.
2. Channelizer demultiplexes input stream to M channels
3. Inner resampler converts from 400 kHz to a multiple of the GSM symbol rate.

UmTRX rates:

Channelizer Rate   Device Rate  Decimation

   1.6 Msps            1.625 Msps         8
   3.2 Msps            3.250 Msps         4


To broadcast dummy bursts on all carriers for spectrum testing,
uncomment the following preprocessor declaration in radioParams.h.


With dummy bursts on all carriers:


Calibration remains a concern. With single carrier, the carrier
leakage and and IQ imbalance appear as in-band distortion. For MCBTS,
OpenBTS offsets C0 on to the lowest carrier. This makes the carrier
and image quite visible, as shown in the following uncalibrated
capture. I checked with a swept tone to verify that this issue was not
a result of baseband DSP. The USRP also shows similar effects.

Any idea how much carrier and image suppression we should expect with
calibration on UmTRXv2?


More information about the UmTRX mailing list