Hi Paul, I tried to perform a similar experiment and unfortunately after investing a significant effort, still haven't figured out how the packets method works :( For now, I pack the data in python, send the packed data to GNURadio and LimeSDR_Tx. and on the Rx side, I detect by LimeSDR_Rx, perform all the clock recovery procedure in GNURadio and then send the extracted *bits* to python via ZeroMQ where I do the unpacking with my code. It's definitely not optimal, but it works.
Evgeny On Wed, Nov 10, 2021 at 5:16 PM Paul Martin <m4rti...@gmail.com> wrote: > Hi! > > I'm trying to send a file through a LimeSDR mini with a loopback cable > using PSK modulation. > > > The gr-limesdr plugin only works with gnuradio 3.8, so I'm on that version. > > OS is Linux Mint 20.2: > $ cat /proc/version > Linux version 5.11.0-37-generic (buildd@lcy01-amd64-021) (gcc (Ubuntu > 9.3.0-17ubuntu1~20.04) 9.3.0, GNU ld (GNU Binutils for Ubuntu) 2.34) > #41~20.04.2-Ubuntu SMP Fri Sep 24 09:06:38 UTC 2021 > > CPU: 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz > > > The examples that I could find all used the deprecated packet > encoder/decoder, so I set up to adapt the packet_loopback_hier example, > which relies on packet_tx and packet_rx (documentation here > https://www.gnuradio.org/doc/doxygen/page_packet_comms.html). > > My flowgraph is here: > > grc packet_loopback_hier.grc https://pastebin.com/w1cQxTLJ > > screen capture packet_loopback_hier.png https://imgur.com/wccyfwC > > (modified from > https://github.com/gnuradio/gnuradio/blob/maint-3.8/gr-digital/examples/packet/packet_loopback_hier.grc > ). > > The packet_tx and packet_rx are here: > > packet_tx.grc https://pastebin.com/fhqQ1Y4n > > packet_rx.grc https://pastebin.com/Zvr3x7vK > > (these are exactly the ones from the repo > https://github.com/gnuradio/gnuradio/blob/maint-3.8/gr-digital/examples/packet/packet_tx.grc > https://github.com/gnuradio/gnuradio/blob/maint-3.8/gr-digital/examples/packet/packet_rx.grc > ). > > > At first, I removed the channel model and got it working with a file > source and sink, albeit with some limitations: > The file needs to be "small" or I get a buffer overflow error (I'm using > an ~8 KiB file, attached), and I had to pad the byte amount of the file to > be an integer number of the packet_len, plus an additional full packet > (I've attached the sample file that I'm using, input_file_padded.dat > https://drive.google.com/file/d/1f3Os_okrn-d-DJrm0L1CyEKUxnOS_TDE/view?usp=sharing). > These limitations don't bother me so I didn't look for the cause, I'm just > mentioning them in case they are relevant. > > Then I added the LimeSDR source and sink, but I don't get any data at the > output of Packet Rx. Looking at the constellations at output out of Packet > Tx (left) and the LimeSDR source (right) I get this (constellations.png > https://imgur.com/a/vGz4sHO). > > From what I could research, the left constellation isn't the four dots > that I initially expected because of the RRC filter. > On the right constellation, I have no clue if what I'm seeing makes sense. > > > Before moving forward and investigating why the different blocks of Packet > Rx aren't outputting anything, I'm trying to make sure that the received > signal is correct. > > > I've also made a video of the flowgraph running ( > https://imgur.com/a/opY6dV9): on the first GUI sink from the left is the > correlation estimator output, then the output of Packet Tx, LimeSDR source, > and Packet Rx; and attached the console output (packet_loopback_hier.txt > https://pastebin.com/r3ivn4eq). > > > Summarizing: Is the output of the LimeSDR source right or am I doing > something wrong? > > > Thanks for taking the time to read my question! > > Regards, > Paul >