Project

General

Profile

Actions

Bug #3342

open

osmo-trx-lms: low tx output power level

Added by laforge over 4 years ago. Updated 6 months ago.

Status:
Stalled
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?


Files

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
lms_set_band.patch lms_set_band.patch 584 Bytes Patch for initialization of LMSDevice::band_desc defog, 07/07/2021 01:17 PM

Related issues

Related to OsmoTRX - Feature #2919: Native LimeSDR supportResolvedpespin02/09/2018

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

Actions
Actions #1

Updated by laforge over 4 years ago

Actions #2

Updated by duo_kali about 4 years 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.

Actions #3

Updated by Armin almost 4 years 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.

Actions #4

Updated by Armin almost 4 years 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.

Actions #5

Updated by laforge almost 4 years 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.

Actions #6

Updated by laforge almost 4 years 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

Actions #7

Updated by roh over 3 years ago

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)

Actions #8

Updated by roh over 3 years 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.

Actions #9

Updated by roh over 3 years ago

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.

Actions #10

Updated by roh over 3 years 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

Actions #11

Updated by roh over 3 years ago

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

Updated by roh over 3 years 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)
Actions #13

Updated by roh over 3 years 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.

Actions #14

Updated by laforge over 3 years 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 :/

Actions #15

Updated by roh about 3 years 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.

Actions #16

Updated by laforge about 2 years ago

  • Assignee deleted (roh)
Actions #17

Updated by laforge about 2 years ago

  • Status changed from In Progress to Stalled
Actions #18

Updated by defog about 1 year ago

Hello.

I faced the same issue. When I launch osmo-trx-lms I get very low signal, almost indistinguishable from background noise (unfortunately I can't measure it's power, I dont have any special tools, so I just use RTL-SDR to watch the signal just in front of LimeSDR antenna).

In the log I see the next:

Wed Jul  7 16:04:15 2021 DTRXCTRL <0002> Transceiver.cpp:877 [chan=0] command is 'SETPOWER 0'
Wed Jul  7 16:04:15 2021 DDEV <0005> LMSDevice.cpp:601 [chan=0] Setting TX gain to 2.38195e+190 dB (~5.77761e+228 dBm)

It looks like there is garbage in variable, used for setting Tx power.

After digging in sources for half an hour I noticed, that in Transceiver52M/device/lms/LMSDevice.cpp LMSDevice::band_desc field is uninitialized when setting the power, so I added it's initialization. Suggested patch is in attachment. Don't know how relevant this patch is, but it fixes the problem.

Regards, Andrew.

Actions #19

Updated by laforge about 1 year ago

  • Assignee set to Hoernchen

Hoernchen, please have a quick look. If the patch looks fine, please submit to gerrit.

Actions #21

Updated by fixeria 6 months ago

Hoernchen wrote in #note-20:

Fixed by https://gerrit.osmocom.org/c/osmo-trx/+/24910

The patch has been merged months ago. Can we close this ticket now?

Actions

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 48.8 MB)