Issue: Low Tx Signal Power When Using .ini Configuration with LimeSDR Mini 2.4 in Octave

Hello everyone,

I want to transmit a single tone using a LimeSDR Mini 2.4 with Octave.

To manage the configuration, I tried to use an .ini file as follows:

  1. I first set the Lime device to default in LimeSuite.

  2. Disconnected from LimeSuite and transmitted a cosine wave in GNU Radio (after setting gain, center frequency, and bandwidth).

  3. Reconnected to LimeSuite to check the configuration set by GNU Radio.

  • Most parameters were correct.

  • But the Tx antenna (BAND1 / BAND2) was not set, so I selected it manually.

  1. Saved this configuration as an .ini file.

Issue

  • When I load this .ini file in GNU Radio, the received signal is very weak:

    • Around –60 dB

    • Instead of the expected –20 dB (when using GNU Radio’s LimeSuite blocks directly).

  • The same issue happens when I use the .ini file to drive the Lime device in Octave.

So, it seems like the .ini configuration does not fully apply.


My Guess

The .ini file might not be correctly setting:

  • The Tx antenna (BAND1 / BAND2)

  • The gain values

even though these were saved via LimeSuite.


Questions

  1. Why does loading an .ini file result in much lower output power, how to make this work properly ?

  2. Is there a better method to configure LimeSDR for use in Octave, other than relying on .ini files?

  3. Has anyone else seen .ini files failing to properly set antenna/gain?


Also the distance between the (tx and rx) antennas were kept the same (abt 10cm apart), in all cases

Hi

Legacy LimeSuite GNURadio plugin resets all board settings when work is finished, so that Tx would not keep emitting signal when not used gr-limesdr/lib/common/device_handler.cc at 244c6bf4f1cb52a8b4d27240d7a4c88c9542cbbb · myriadrf/gr-limesdr · GitHub

Therefore the .ini file you saved is not the same configuration that the GNURadio was running.

The LimeSuite Octave plugin does not do any device configuration, so it will just use the device with whatever settings are currently configured, if .ini file is not loaded. Ideally all of the LimeSuite API functions could be wrapped up for direct use from Octave, just like the LoadConfig() https://github.com/myriadrf/LimeSuite/blob/9dce3b6a6bd66537a2249ad27101345d31aafc89/octave/LimeSuite.cc#L144-L183 but that’s a lot of work to wrap all API functions.

The simplest option right now would be to use external tool like LimeSuiteNG command line interface limeConfig to preconfigure the device, and then just run the Octave plugin for samples streaming. If realtime processing is not needed, then you might just use limeTRX to transmit/receive data from/to files, and just write/read those files using Octave.

thank you ricardas, I will check this and get back.

When I used GNU Radio for configuring and later generated the .ini file, I noticed issues as before.
However, when I used the .ini file from the “loop_mini .ini” with tx.m form the examples (LimeSuite Octave examples), there was no issue.

When GNURadio is stopped, the device is reset, so you aren’t saving to file the settings that were set while running GNURadio.