ka9q / ka9q-radio

Multichannel SDR based on fast convolution and IP multicasting
GNU General Public License v3.0
147 stars 32 forks source link

rtlsdr: increase the block size to 1298 #28

Closed pinkavaj closed 1 year ago

pinkavaj commented 1 year ago

I'm completely ignorant why 960 was used and there is no documentation, any special reason?

This reduces the number of packets to send (and thus switching overhead), it is also 2*512+256 -> it is better aligned with USB transfer size.

Btw, when jumbo frames are used, then the 8192 block size works like a charm, would make sense to make this configurable?

ka9q commented 1 year ago

The IQ packet size stuff in the various front end handlers is rather ad hoc. Back when I was only using the Funcube dongle, its low sample rate meant that a large packet added delay. I was also trying to use values that were multiples of the block sizes I was then using in what is now radiod. I don't use the rtl_sdr much, so that code still needs a lot of cleanup. So yes, larger packets make more sense for devices with higher sample rates, especially when jumbo frames are used and especially^2 when very large frames are used for loopback (e.g., IP TTL=0).