Project

General

Profile

Bug #3342

osmo-trx-lms: low tx output power level

Added by laforge 9 months ago. Updated about 2 months ago.

Status:
In Progress
Priority:
Normal
Assignee:
Category:
LimeSDR
Target version:
-
Start date:
06/13/2018
Due date:
% Done:

50%

Spec Reference:

Description

According to https://discourse.myriadrf.org/t/limesdr-s-maximum-transmitting-power-at-different-frequencies/1649 I would expect something like 3-5dBm maximum output power at 1.8 GHz.

Hoewever, when running at ARFCN 871, and even when manually patching LMS_SetNormalizedGain(m_lms_dev, LMS_CH_TX, chan, 1.0); into the osmo-trx-lms source code, I'm not seeing more than -3.8 dB coming out of the TX1_1 port of the device. Where does that 6..8 dB difference come from?

limesdr_mini_1_phase_lms1810git_extclock40.gif View limesdr_mini_1_phase_lms1810git_extclock40.gif 24.6 KB limesuite 1810+git arfcn 1 limesdr mini phase roh, 01/25/2019 07:43 PM
limesdr_mini_1_env_lms1810git_extclock40.gif View limesdr_mini_1_env_lms1810git_extclock40.gif 17 KB limesuite 1810+git arfcn 1 limesdr mini envelope roh, 01/25/2019 07:43 PM
limesdr_mini_871_env_lms1810git_extclock40.gif View limesdr_mini_871_env_lms1810git_extclock40.gif 16.9 KB limesuite 1810+git arfcn 871 limesdr mini envelope roh, 01/25/2019 08:06 PM
limesdr_mini_871_phase_lms1810git_extclock40.gif View limesdr_mini_871_phase_lms1810git_extclock40.gif 27.6 KB limesuite 1810+git arfcn 871 limesdr mini phase roh, 01/25/2019 08:06 PM
limesdr_usb_871_env_lms1810git_extclock10.gif View limesdr_usb_871_env_lms1810git_extclock10.gif 17.1 KB roh, 01/28/2019 03:48 PM
limesdr_usb_871_env_lms1810git_extclock10_tx-att_9.gif View limesdr_usb_871_env_lms1810git_extclock10_tx-att_9.gif 17.3 KB roh, 01/28/2019 03:48 PM
limesdr_usb_871_env_lms1810git_extclock40.gif View limesdr_usb_871_env_lms1810git_extclock40.gif 17.2 KB roh, 01/28/2019 03:48 PM
limesdr_usb_871_env_lms1810git_extclock40_tx-att_9.gif View limesdr_usb_871_env_lms1810git_extclock40_tx-att_9.gif 17.3 KB roh, 01/28/2019 03:48 PM
limesdr_usb_871_phase_lms1810git_extclock10.gif View limesdr_usb_871_phase_lms1810git_extclock10.gif 24.9 KB roh, 01/28/2019 03:48 PM
limesdr_usb_871_phase_lms1810git_extclock10_tx-att_9.gif View limesdr_usb_871_phase_lms1810git_extclock10_tx-att_9.gif 23.6 KB roh, 01/28/2019 03:48 PM
limesdr_usb_871_phase_lms1810git_extclock40.gif View limesdr_usb_871_phase_lms1810git_extclock40.gif 24.9 KB roh, 01/28/2019 03:48 PM
limesdr_usb_871_phase_lms1810git_extclock40_tx-att_9.gif View limesdr_usb_871_phase_lms1810git_extclock40_tx-att_9.gif 23.9 KB roh, 01/28/2019 03:48 PM
3526
3527
3528
3529
3535
3536
3537
3538
3539
3540
3541
3542

Related issues

Related to OsmoTRX - Feature #2919: Native LimeSDR supportResolved2018-02-09

Blocked by OsmoTRX - Bug #3775: properly debug limesdr usb and limesdr mini clocking requirements and osmo-trx supportIn Progress2019-01-31

History

#1 Updated by laforge 9 months ago

#2 Updated by duo_kali 6 months ago

Tested also with 900MHZ, seems the output power and rx gain using osmo-trx-lms is less compare using osmo-trx-uhd.

I dont have the spectum analyzer here, but testing many times and compare using phone to camp and call with osmo-trx-uhd has produce more power than osmo-trx-lms, so automatically using UHD increase range coverage.

#3 Updated by Armin 4 months ago

Have the same issue with LimeSDR mini connected via USB3 to my host machine. LimeSDR mini producing only -12dBm RF power tuned and transmitting my GSM network on 935.0 MHz.
When I used LimeSuite to transmit CW on max possible power setting, I got 13.2 dBm on 935 MHz.
I tried also to play with some config parameters of osmo-bts, like

user-gain Inform BTS about additional, user-provided gain or attenuation at TRX output
power-ramp Power-Ramp settingsMaximum initial power

but these parameters doesn't change anything.

#4 Updated by Armin 4 months ago

I was able to increase output power by using in osmo-trx-limesdr.cfg in trx section

tx-path BAND2

instead of BAND1

This increased power to 5 dBm.

#5 Updated by laforge 4 months ago

  • Status changed from New to In Progress
  • Assignee set to pespin
  • % Done changed from 0 to 50

the output level is expected to be rather low (-5 dBm?). Lower levels were likely a result of using only 30% of the full 16bit sample scale (see #3341).

One remaining difficulty is to know which port (BAND1/BAND2) is ideal for a given transimt frequency. It seems that the LimeSDR-mini vs. LimeSDR-USB have inverted recommendations about which ports shall be used for which frequency. We've asked lime to provide a related table, so we can then in software at least print a warning if a user selects a sub-optimal combination.

#6 Updated by laforge 4 months ago

  • Assignee changed from pespin to roh

See https://gerrit.osmocom.org/#/c/osmo-trx/+/12006/ https://gerrit.osmocom.org/#/c/osmo-trx/+/12007/ https://gerrit.osmocom.org/#/c/osmo-trx/+/12008/

roh please re-test using those changes, and without using any 'osmotrx tx-attenuation' in your config files

#7 Updated by roh about 2 months ago

3526
3527
3528
3529

i generated these (very good looking) pictures by using a limesdr mini V1.2 modded for external clock and feeding a 40MHz sinewave with 5.2dBm as reference, locked to the 10MHz generator of the 4406.

thus all frequency or phase errors should be rooted in the lime domain.
the only patch used so far was to make osmo-trx-lms use 40 instead of 10MHz.
usb connection to testsystem (apu2) is usb2 (better stability)

osmo-bts-trx.cfg

phy 0
 instance 0
 osmotrx ip local 127.0.0.1
 osmotrx ip remote 127.0.0.1
bts 0
 band 900
 ipa unit-id 1801 0
 oml remote-ip 127.0.0.1
 gsmtap-sapi ccch
 gsmtap-sapi pdtch
 trx 0
  phy 0 instance 0

osmo-trx-lms.cfg:

trx
 bind-ip 127.0.0.1
 remote-ip 127.0.0.1
 base-port 5700
 egprs disable
 tx-sps 4
 rx-sps 4
 clock-ref external
 rt-prio 18
 chan 0
  tx-path BAND1
  rx-path LNAW

output of osmo-trx-lms: (only once, since the output is the same for 900/1800)

...
Fri Jan 25 20:30:36 2019 DLMS <0003> LMSDevice.cpp:102 [tid=140567255682880] Selected TX path: Band 2
Fri Jan 25 20:30:36 2019 DLMS <0003> LMSDevice.cpp:102 [tid=140567255682880] Selected RX path: LNAW
...
Fri Jan 25 20:30:40 2019 DDEV <0002> LMSDevice.cpp:386 [tid=140567255922432] chan 0: Setting TX gain to 36.5 dB
Fri Jan 25 20:30:40 2019 DDEV <0002> LMSDevice.cpp:401 [tid=140567255922432] chan 0: Setting RX gain to 36.5 dB
...
Fri Jan 25 20:30:41 2019 DDEV <0002> LMSDevice.cpp:386 [tid=140567255922432] chan 0: Setting TX gain to 73 dB
...

note: band2 is selected even if the config says band1 (setting is ignored)

results:

current default settings from head generate about 11.5dBm output power on gsm900 and -3.5dBm on gsm1800
gsm1800 with those settings generates in a lot phase noise, which FAILs those measurements.

todo:
test with a limited output power, to get the 1800MHz band to work properly (apply https://gerrit.osmocom.org/#/c/osmo-trx/+/12008/) (12006/12007 are merged already)

#8 Updated by roh about 2 months ago

https://gerrit.osmocom.org/#/c/osmo-trx/+/12008/ does not help this further, since it only changes the default value set initially from 36.5 dB to 64.0 dB which is overwritten a few seconds later by a setTxGain call for maximum (which is still hardcoded in LMSDevice::maxTxGain).

the same result can be reached by using this osmo-bts-trx.cfg

phy 0
 instance 0
  osmotrx tx-attenuation 9

anyhow.. reducing the tx-gain does only make the rf envelope worse to the level that it hardly keeps passing. is this really a hardware gain, and not some sw-scaling?

phase noise is not changing visibly.

since it seems that limesdr mini and limesdr have different default gains? (not completely sure, just assuming) we would need some kind of hw-detection in this code if we want to config them differently.

#9 Updated by roh about 2 months ago

3535
3536
3537
3538
3539
3540
3541
3542

i have replicated some of these tests on a limesdr usb now. it seems it makes a minor difference if the device is fed with 10MHz or 40MHz from the same clockgenerator (E4433b external clocked by a E4406 via 10MHz bnc cable from reference out to reference in)

i get a bit worse results with 40MHz clock than with 10MHz, but since its the same generator and i can see no harmonics or similar distortion, so i am unsure where this phase noise is coming from.. PASS is not 'solid' but flappy.

#10 Updated by roh about 2 months ago

it seems the clockchip used on lime mini (ti LMK00105) is not happy with sinewaves and wants sharp rectangles 2V/ns or better.

this means i need to redo all these measurements as soon as i have a clockgenerator with proper rectangle output

#11 Updated by roh about 1 month ago

  • Blocked by Bug #3775: properly debug limesdr usb and limesdr mini clocking requirements and osmo-trx support added

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 48.8 MB)