tapparelj / gr-lora_sdr

This is the fully-functional GNU Radio software-defined radio (SDR) implementation of a LoRa transceiver with all the necessary receiver components to operate correctly even at very low SNRs. This work has been conducted at the Telecommunication Circuits Laboratory, EPFL.
https://www.epfl.ch/labs/tcl/
GNU General Public License v3.0
685 stars 73 forks source link

RX Error #122

Open smsajjadi opened 5 days ago

smsajjadi commented 5 days ago

Hi

I have been trying to test this valuable code with a ADALM-pluto platform. First I tried to replace the sink from USRP to IIO-based pluto sink, but it didn't work. So, I used both the source code and data from a GNU-radio run, to implement a bit-accurate implementation of the code in python and use the ADI module to send it through ADALM-pluto. With this trick, I began receiving some packets in an sx127x module. But unfortunately, this is not working as expected. I am sending exactly the same signal repeatedly, but I receive different data everytime, and RX Error is issued in every single packet. received data length is correct. I don't have another SDR to check receipt with that. Where should I start to debug this situation?

Spec of link: sf=7, explicit header, CR=1, 8 preambles.

smsajjadi commented 4 days ago

Going forward, I switched to implicit header. Then I saw that the first 5 nibbles which are encoded with hamming(8,4) are OK most of the time.

Then I switched over to CR=4 and now 12 correct nibbles. (My data is 12 bytes). This seems 2 like 2 blocks of interleaver. So it seems like that hamming encoding for lower rates and maybe interleaving have some sort of bug here.