Post Go back to editing

Burst transmission with PlutoSDR and GNURadio


currently I'm trying to send bursts using FSK by following the FSK Receiver and FSK Transmitter templates on the GNURadio Github. When I use the ZMQ Blocks to test the flowgraph it works just fine (meaning: a packet is printed out every 500ms), but when I use the PlutoSDR to receive and transmit there is a lot of packet loss (meaning: a packet is printed out every ~4000ms). Is there a way to set the PlutoSDRs parameters to to be better suite the task? or is that amount of packet loss to be expected?

Thanks in advance, any hints/solutions are highly appreciated.



  • You are likely running into issues related to the half-duplex nature of USB 2.0. Can you try a simple test of sending 1 packet to Pluto's Sink with Cyclic mode enabled and check your PER?


  • When I enable Cyclic mode I don't even see one package being received and I also don't see any activity in the GUI Time Sink in upper part of the flow-graph. Any ideas what could be the problem?

  • Cyclic mode works by taking the first N samples, where N is set by the Buffer Size property, passing it to the hardware and the hardware will repeat it.

    Make sure that Buffer Size is set your packet size or you append zeros to the packet to meet the buffer size.


  • Due to the fact that I'm new to SDRs and GNURadio am I not sure how to calculate the exact amount of samples I'm sending.

    What I know is that the message I'm sending is 25 bytes including CRC and packet format. Afterwards I pack each bit of data into a separate byte and repeat every data point 1000 times. So in total I have 25*8*8*1000 = 1.6e6 bits of data packed in 1.6e6 bytes, is that correct?
    If so, do have to set a Buffer Size of 1.6e6?

    When I set the Buffer Size to 1.6e6 and Cyclic mode enabled and trigger a message, I receive some data but I don't get any print out, meaning the CRC does not match. Cloud it be that I'm only sending the first part of the data?

    Aside from matching the Buffer Size to the data, how would i go about zero-pad my data to match the Buffer Size in GNURadio?

    (to trigger a message just go the text field at the bottom and send any message)

  • I would recommend trying to measure the payload size on TX. Set your message generation period to be very large and pipe the data into a file. Stop the flowgraph after 1 period. Then count the samples in that file.