I am developing a BPSK receiver in C using LimeSuiteNG with the SoapySDR API.
On a Raspberry Pi 5 with a LimeSDR Mini v2.4, the receiver works well. It can track the signal stably and decode the packet successfully. However, when I use the same code with a LimeSDR XTRX v1.2 connected through a PCIe HAT, the result is different. The receiver still appears to track the signal, but the received signal power is unstable, and it never achieves data-bit lock.
Both devices are using the latest v3.5 gateware, and both LimeSuiteNG and SoapySDR were built from the latest source.
Before creating the stream, I initialize the device through SoapySDR in this order:
- SoapySDRDevice_setSampleRate
- SoapySDRDevice_setAntenna
- SoapySDRDevice_setFrequency
- SoapySDRDevice_setBandwidth
- SoapySDRDevice_setGain
Are there any additional initialization steps or device-specific settings required for LimeSDR XTRX? Also, are there known behavioral differences between LimeSDR Mini 2 and XTRX when used through LimeSuiteNG/SoapySDR?