Packet Data Transfer using BPSK Modulation with LimeSDR-Mini


I’m learning to implement a grc flow-graph with BPSK modulation to send and receive text/image file or send chat message via UDP socket. It’s working in simulation mode perfectly as I intended but with real hardware obviously lot of issues are happening.


Initially, I was receiving only garbled data with limesdr-mini but after further reading I found that’s due to phase ambiguity problem in the receiver. Then I used differential encoding to resolve the issue. If I sent a text file in repeat mode, I can receive it on file sink.
Receive file:

However, If I sent the file only once without repeat, I don’t get any data at all. I understand that the receiver perform clock, frequency, phase recovery on received data and when it sync, it decodes the data correctly.

TX and Rx constellation:

TX Chain:

RX Chain:

Can somebody shed some light what I’m missing here. In simulation, this flow graph works correctly with text/image transfer and chat messaging (UDP Source/Sink).

What measures I have to consider further to make it work the same way with LimeSDR.

Appreciate any suggestions :slight_smile: