LimeSDR gain control via osmosdr

Hi everyone,

I searched this forum and read the LimeSDR datasheet. Just wanted to confirm the gain controls via osmosdr.

RXLNAx mapped to RF Gain?
RXVGA1 mapped to IF Gain?
RXVGA2 mapped to BB Gain?
TXPAD mapped to RF Gain?
TX Digital Gain mapped to anything?

Thanks in advance,

I would assume, for the gains, that you would need to use LNA, TIA, PGA for RX and PAD for TX.

gr-osmosdr outsources full control for the LimeSDR to Soapy ( ). So what I think you should be asking is what are the bindings in Soapy ( ). Soapy uses wrappers in LimeSuite to talk to LimeSuite devices using the LMS7 API. So I would be using what the LMS7 API expects. This all sounds really inefficient and complex, but in reality it probably isn’t.

I have not tried, it is just what I would expect that I will eventually need to use with an actual device.

The below diagram (click to enlarge) from the wiki datasheet might make the locations of the gains clearer (in case anyone else is reading this and wondering what gains are where in the signal path).

1 Like

Thank you mzs,

I was looking at an outdated datasheet.

I also forgot to mention that im I’m trying to use the osmocom Source block in gnuradio.

It appears that IF Gain is mapped to LNA, and BB Gain is mapped to PGA. Can’t seem to find a parameter that is mapped to TIA at the moment.

Sorry but you left out that you were using gnuradio companion, so I assumed you were not using it. I’ve seen the same issue with the Airspy SDR where not all the gains are accessible in GnuRadio Companion because the current source block can only access “fixed” gains. But if you were writing your own python/C++ code using gnuradio, but not GRC, as osmocom_fft and gqrx do, you then have access to the dynamic runtime “named” gains.

I honestly do not know if there is a workaround, but would be happy to learn that there was, anyone know ?

But this simple issue has started me looking at PothosSDR where I can set gains all the “named” gains like {“LNA” : 10, “MIX” : 10 , “IF” : 10} or {“linearity” : 15 } or { “sensitivity” : 15 }. And the same general method should also work for the LimeSDR in PothosSDR to acquire access to all the gains.

1 Like