Transmission below 500MHz

Hello,

I am trying to transmit a 100ms pulse of pure sine wave at 64MHz from TX1_1 channel. However, the quality of the signal is extremely poor whereas at higher frequencies (above 500MHz), the quality is desirable once again. Is this a hardware issue with my LimeSDR or does it not work as advertised? According to the official documentation, this task should be a piece of cake for Lime.

Thanks,
Ugur.

Did you try with different sample rates? I did notice on 144MHz with different sample rates change in output signal spectrum purity. You can also experiment with NCO.

@yt7pwr I was using 2MHz of sample rate with no oversampling, what do you suggest I do? Also, how could I utilize the NCO? By the way, I’m using the LimeSuite API to do all this.

Thank you for your reply.

Ok, but what app? Your custom design? What OS? On Win fastest way for testing your hardware is to use SDRConsole in TX mode with TUNE option (pure CW carrier).
NCO can be used to avoid LocalOscillator leak (bump in the middle of the screen).

@yt7pwr I am coding with c++ using eclipse IDE. I have tried both on MacOS bigSur and Windows 10. The design is not custom. I only changed a few lines on the basicTX.cpp example code provided by Lime in the GitHub repo. I only changed the center frequency and filled the TX buffer with a constant value. I am familiar with the functions present in the API but it seems that they do not provide as much functionality as let’s say limeSuite GUI but it is easier. Btw, I also tried this with different sampling rates with and without oversampling. Still the same issue… extremely corrupted sine wave.

Thank you for your reply.

Is this typo error: “…and filled the TX buffer with a constant value”? Example generated buffer with sine and cosine values, not with constants.
I also try basic TX example and it is working fine below 500MHz.

@yt7pwr no it is not a typo. Since the constant values are modulated by the center frequency, the output is a sinusoid at the center frequency. If I filled the buffer (only the Q part lets say) with a sinusoidal, the output would be sine*sine. And wow, I cant believe you really made it work. I will try the code you sent and give a feedback after. Thanks!