Sine Wave Transmission: High Noise Issue with LimeSDR Mini v2.4 Compared to v1.1

Hello,

I am currently transmitting a sine wave using GNU Radio between the Tx and Rx of the same LimeSDR, connected through a wired cable. For both the source and sink, I am utilizing the antenna ID (1,0). Below is the GNU Radio flowgraph I am working with:

When using the LimeSDR Mini v1.1, I observed the following output:

However, when using the LimeSDR Mini v2.4, the output appears much noisier:

I would like to understand why the output from the LimeSDR Mini v2.4 is significantly noisier compared to the v1.1. Additionally, how can I improve the performance of the v2.4 unit? I am considering using this version due to its availability. Should I modify the antenna configuration? Currently, I am setting the antenna as follows:

self.limesdr_source_0.set_antenna(1, 0)
self.limesdr_sink_0.set_antenna(1, 0)

Any insights or suggestions would be greatly appreciated.

Thank you.

It looks like you have a rate mismatch between the sine generator and the hardware. It looks like you have the sine generator at 32kSample/sec and the RF is set for 1MSample/sec. That’s going to cause all sorts of problems.

as @N0YKG mentioned the difference between hardware and software sampling rates could be the issue. Also exaggerated by the fact that the rates don’t match on both sides, the Source and Sink.

I suspect this noise is a result of samples overflow/underflow due to rates mismatch. Crude measurement of the time graph pixels shows that the “good” part of the sine wave period is around 70% of it, and the “bad” part looks like legit data, but from different time. Which is suspiciously a coincidence that the USB data is transferred in batches of 21760 samples, while your Sink is expecting 32k. So 21760/32768 = ~66% of contiguous data. So I would say the LimeSuite Rx is overflowing and dropping data, and the QT GUI Time/Frequency Sinks are picking up non contiguous samples.

Why there is a difference between v1.1 and v2.4 boards in this case, it all about timing, the software timing is inconsistent, and the hardware timing might not be identical due to firmware differences. You are using a pure sine wave, so if a chunk of data gets dropped, there is possibility that the sine can still “look ok”, as chunks of it gets concatenated from different points of time.

So matching your Signal source sampling rate to LimeSuite Sink, and matching GUI Sinks sample rate to LimeSuite Source should fix your problem.