As i understand the bandwidth of the Pluto is 20MHz and the interface USB 2.0.
USB 2.0 is about 480mbit/s (max).
The ADC is 12 bits, so 24 bits for I and Q : 480 / 24 = 20M samples/s (max).
I modified my Pluto to for the full 70MHz - 6GHz range.
If i set the sample rate of the Pluto SDR Source to 61.44M, the Pluto just works fine: no console warnings, overflows or errors are displayed.
(an error will be generated when trying 61.5M)
Question 1: How is the sample rate of 61.44M squezed through the USB interface of 20M samples/s ?
Furthermore I am also able to set the bandwidth in the Pluto SDR source to 61.44M.
This is pretty much out of spec, but surprisingly it works great?
Below same, but center frequency shifted from 5.23GHz to 5.26GHz to show the bandwidth is more to 61.44MHz then 20MHz
(you see the same 801.11a channel 48 (5.24GHz))
Below same but center frequency moved to 5.22GHz
Question 2: how can the 61.44MHz bandwidth be squeezed through the USB 2.0?
Or do i totally miss understand the numbers?
Ubuntu 16.04.5 LTS
libad9361-iio commit 77e947eb8f1cb4526cd397d0e3c452f67cf07826
gr-iio commit da3abbf5c95fb9feb4873b96d75817676a99fc5d
libiio commit d765acbfbced089c7f68955630eda5d520b380ce
plutosdr : v0.29
i7-3540M CPU @ 3.00GHz (quad core)
Thanks in advance
Anyway the Pluto is an awesome device !
Currently, the gr-iio does not support underflow/overflow notifications. That is an experimental feature we haven't merged yet. You can try that code if you wish here: https://github.com/analogdevicesinc/gr-iio/tree/underflow-overflow-support
In my testing, the best I've done is ~6 MS/s.
Thanks for your answer.
So apparently random blocks of data are dropped, but likely the remaining data is consistent enough to show the "correct" spectrum.
For a spectrum analyzer use case would it be possible to spread the available 6MS/s over the 61.44MHz (or 56MHz).
Do you see a way to decode an 802.11a packet (OFMD / 20MHz bandwidth) with Pluto?
Thanks in advance,
You can pull bursts of data back from Pluto at 61.44 MHz but you must assume that successive buffers are not contiguous. Pluto can return a single buffer with 2^23 samples that is completely contiguous.
For 802.11a, I've done this in MATLAB fine just collecting large bursts of data. Controlling data in this way with GNU Radio is not as straightforward though.
You say Pluto can return a single buffer with 2^23 samples, but is that happening with gnuradio, or do i have to modify something to achieve that?
Otherwise how many samples you expect per burst for gnuradio?
Do you have a pointer to the MATLAB 802.11a decoding?
This is defined based on the buffer parameter on the block. However, this number has to be a multiple of 1024 since that is what we set in "set_output_multiple" within the block.
802.11a example: https://www.mathworks.com/help/supportpkg/plutoradio/examples/transmission-and-reception-of-an-image-using-wlan-system-toolbox-and-a-single-pluto-radio.html
I will have a look at the MATLAB example.