RF RSSI and digital RSSI for AGC

Hello all,

I want to experiment with long-range transmit (TX) and receive (RX) using the LimeSDR Mini 2.4. To do this, I need to establish an Automatic Gain Control (AGC) loop by observing both:

  • The RF RSSI (pre-RXLNAW), and
  • The digital RSSI.

Current Status:
I’ve been able to find the LimeSuite functions that read the digital RSSI, but I haven’t been able to find any LimeSuite function for reading the RF RSSI.


Questions:

  1. Is there a direct function in LimeSuite to read the RF RSSI?
  • If yes, please direct me to it.
  • If no, how can I access or calculate the RF RSSI?
  1. I would like to make these functions into Octave-callable C++ binding, since the rest of my project is implemented in Octave.
  • Is it possible to wrap these LimeSuite functions (if they exist) into Octave-callable C++ binding and use them from within Octave?

Hi,

There is no dedicated function for it, analog RSSI value can be read from LMS7002M SPI register:
0x0605[15-8] channel B analog RSSI
0x0605[7-0] channel A analog RSSI
But the analog RSSI has to be calibrated, the calibration procedure: LimeSuite/src/lms7002m/LMS7002M.cpp at 524cd2e548b11084e6f739b2dfe0f958c2e30354 · myriadrf/LimeSuite · GitHub

Yes, it’s possible.

Thank you, Ricardas.
Do I need to perform calibration and read the corresponding SPI registers every time I want to read the analog RSSI

The calibration needs to be done once. After that you can read just the analog rssi values.