Project

General

Profile

Bug #3342

osmo-trx-lms: low tx output power level

Added by laforge over 1 year ago. Updated 19 days ago.

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

90%

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 supportResolved02/09/2018

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

History

#1 Updated by laforge over 1 year ago

#2 Updated by duo_kali about 1 year 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 11 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 11 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 11 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 11 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 9 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 9 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 9 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 9 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 8 months ago

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

#12 Updated by roh 4 months ago

after limiting the tx-level in osmo-trx-lms for the different plattforms we have these real-world signal power levels:

all measurements done on 2019-06-27 with limesuite 19.04 from osmocom-nightly

limesdr usb: (measured with external 10MHz rectangle clock)
  • arfcn 5 = ~+11dBm
  • arfcn 871 = ~+3dBm - phase error high - reduce tx power by 8dB to ~-5dBm - phase error OK
limesdr mini (measured with internal clock)
  • arfcn 5 = ~+3dBm
  • arfcn 871 = ~-12dBm
limenet micro (gps clock)
  • arfcn 5 = ~+7dBm
  • arfcn 871 = ~-5dBm - phase error high - reduce tx power does NOT help reduce phasenoise for whatever reason. (not even 30dB)

#13 Updated by roh 4 months ago

  • % Done changed from 50 to 90

we currently do not have a frequency-dependent but only device-dependent max-tx-power settings:

LimeSDR-USB -> 73
LimeSDR-Mini -> 66
LimeNET-Micro etc -> 71

if we really want osmo-trx to not do 'stupid waveforms' i could add a patch reducing power e.g. for LimeSDR-usb on DCS1800, but i would rather like to avoid this.

#14 Updated by laforge 4 months ago

On Thu, Jun 27, 2019 at 05:29:50PM +0000, roh [REDMINE] wrote:

limenet micro
  • arfcn 5 = ~+7dBm
  • arfcn 871 = ~-5dBm - phase error high - reduce tx power does NOT help reduce phasenoise for whatever reason. (not even 30dB)

the comparatively poor phase error onthe limenet micro is distrurbing. Please make sure to reach
out to Lime Micro about this. It would be sad if the board intended for actual base station
operation would be the only that doesn't provide 3GPP-spec-compliant waveforms :/

#15 Updated by roh 19 days ago

please see also https://osmocom.org/projects/osmotrx/wiki/LimeSDR_Family for an overview of recommended settings and to be expected power levels.

i am checking with lime if anything can be done about the limenet micro levels and the dcs1800 issues left with limesdr-usb, but the generic issue is solved.

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 48.8 MB)