[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Sending a file through a LimeSDR mini with a loopback cable using PS

From: Paul Atreides
Subject: Re: Sending a file through a LimeSDR mini with a loopback cable using PSK modulation
Date: Wed, 10 Nov 2021 12:30:36 -0500

Excellent work solving your problem. That’s the most important thing!

I think what you’ve done is still the preferred method by many as dynamically packetizing data in GNURadio is still a bit application specific. 

If you are up for installing GNURadio 3.9 the tutorial works perfectly in that version. 

We are working on adapting the tutorial to work for 3.8. Barry and I will update the wiki once we get it worked out. 

<end transmission>

On Nov 10, 2021, at 12:07, Evgeny Hahamovich <evgymail@gmail.com> wrote:

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.


On Wed, Nov 10, 2021 at 5:16 PM Paul Martin <m4rtinpf@gmail.com> wrote:

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!


reply via email to

[Prev in Thread] Current Thread [Next in Thread]