laforge
/
openbts-osmo
Archived
1
0
Fork 0
Commit Graph

14 Commits

Author SHA1 Message Date
Thomas Tsou f8838172ad transceiver: fix bug in setting low-level attenuation
This patch fixes some confusion in gain vs. attenuation
setting. The UHD device is controlled through gain
settings but OpenBTS represents gain in terms of
attenuation relative to maximum - 0 dB attenuation.

Signed-off-by: Thomas Tsou <ttsou@vt.edu>
2011-08-01 19:56:16 -07:00
Thomas Tsou 6d34bace87 transceiver: reinsert digital gain scaling
Commit e161523c (transceiver: simplify transmit power control)
changed transmit gain control to RF setting only. This was
appropriate for a WBX board with 25 dB of gain control, but
inappropriate for an RFX with fixed transmit gain.

RFX boards will regain the ability to set transmit
attenuation. Since gain is set on the RF side first,
reintroducing digital gain settings should have limited
overall effect on non-RFX daughterboards.

Signed-off-by: Thomas Tsou <ttsou@vt.edu>
2011-06-22 13:39:13 -07:00
Thomas Tsou e161523c8b transceiver: simplify transmit power control
UHD will internally accept floats with a range of +/-1.0,
which corresponds to a 16-bit signed integer range of
apporximately +/- 32000. Set the default amplitude to .3,
which is a safe value agaist saturation elsewhere in the
transmit chain.

The non-UHD maximum amplitude is unchanged at 13500.

Remove digital gain control because it's unnecessary and
causes extra load on enbedded systems.

Signed-off-by: Thomas Tsou <ttsou@vt.edu>
2011-05-26 15:39:54 -07:00
Thomas Tsou 055af67a4e transceiver: rework digital gain settings
The output of the modulator or resampler is scaled and
converted from floating point to fixed point. The scaling
factor is the leftover dB in RF attention (relative to max
transmit power), which is handled prior to the integer
conversion. This should work across all daughterboards and
non-UHD installations.

Signed-off-by: Thomas Tsou <ttsou@vt.edu>
2011-05-23 19:01:12 -07:00
Thomas Tsou dd0ee20c1a transceiver: enable adjustable gain settings on non-52MHz
Add gain and attenuation settings that were present
only in the 52MHz transceiver. This patch also
fixes SETRXGAIN failed warnings at startup.

Signed-off-by: Thomas Tsou <ttsou@vt.edu>
2011-05-23 18:59:58 -07:00
Thomas Tsou 67714e4292 uhd: inline thread priority setting
Push the ability to set thread priority out to the 52M
Transceiver interface, because that's where the thread
control exists.

Signed-off-by: Thomas Tsou <ttsou@vt.edu>
2011-05-06 21:01:42 -04:00
Thomas Tsou 8c86da79c0 uhd: move non-52MHz transceiver to common radio device interface
Use the same header files for the device and start moving
toward a commmon transceiver without so much redundant code.

Signed-off-by: Thomas Tsou <ttsou@vt.edu>
2011-05-06 17:42:18 -04:00
Thomas Tsou 9de5527574 uhd: enable priority scheduling on receive loop
Though the receive loop ultimately drives the GSM clock,
it does not have any priority because it runs as a
separate thread from the trasmit loop. The transmit
has priority because it starts the UHD device, where
priority scheduling is enabled. The result is frequent
underruns, which occur regardless of buffer size tuning.

To address this, break out and expose the priority
setting so that it can be called from the radioInterface
at the start of a new thread.

Tested on a modest Intel Core 2 Duo tablet running
Linux 2.6.33.7.2-rt30, this reduced underruns down to
near zero.

Signed-off-by: Thomas Tsou <ttsou@vt.edu>
2011-03-23 11:35:35 -04:00
Thomas Tsou 753118031e Transceiver: move I/Q swap and byteorder to behind device interface
The non-UHD implementation tunes the DDC to output an inverted
spectrum that requires swapping on the host. Push I/Q and byte
swapping into the device implementation and strip the related
bits out of the remaining transceiver code.

This also moves the Transceiver closer to the Transcever52M
version.

Signed-off-by: Thomas Tsou <ttsou@vt.edu>
2011-01-28 13:26:39 -05:00
Thomas Tsou af2ded3b01 uhd: remove I/Q swap from radio interface
There should be a better way to do this. Only the USRP1 option
in non-loopback mode needs the swap.

UHD   & !SWLOOPBACK: FLIP_IQ = 0
UHD   &  SWLOOPBACK: FLIP_IQ = 0
USRP1 & !SWLOOPBACK: FLIP_IQ = 1
USRP1 &  SWLOOPBACK: FLIP_IQ = 0

Signed-off-by: Thomas Tsou <ttsou@vt.edu>
2010-11-17 01:44:44 -05:00
Thomas Tsou 9c091dc7a9 uhd: separate USRPDevice and create virtual device interface
Move essential interface components into an abstract Device class
and create a factory method for instantiating compile-time
specified derived types (USRP1 or UHD).

The radioInterface has a device specific type conversion call to
the USRP1 driver, so push that behind the Device interface too.

Signed-off-by: Thomas Tsou <ttsou@vt.edu>
2010-11-16 22:11:50 -05:00
David A. Burgess 3a8fd4fac1 Another fix to the copyright notice header. 2010-07-16 17:09:09 -07:00
David A. Burgess fa179f74b7 Change license to AGPLv3. 2010-07-04 15:28:06 -07:00
David A. Burgess ecbaf97509 Initial import of OpenBTS 2.6 for a new public trunk. 2010-05-23 19:42:16 -07:00