f4exb / sdrangel

SDR Rx/Tx software for Airspy, Airspy HF+, BladeRF, HackRF, LimeSDR, PlutoSDR, RTL-SDR, SDRplay and FunCube
GNU General Public License v3.0
2.91k stars 441 forks source link

Delay in Metis - Fixed FIFO size does not take sample rate into account #1100

Closed hiperiondev closed 2 years ago

hiperiondev commented 2 years ago

The HPSDR project with RPITX is already working in a very stable way. To do the tests I use Sdrangel and linhpsdr. I have found an important difference: In linhpsdr (transmitting in NFM) the transmission delay is less than 1 second but in Sdrangel it is greater than 5 seconds. Is it correct for this to happen?

f4exb commented 2 years ago

The output buffer has a fixed size of 96000 samples: https://github.com/f4exb/sdrangel/blob/master/plugins/samplemimo/metismiso/metismiso.cpp#L54

Indeed this is not ideal it should depend on the sample rate so that it results in a fixed delay. If you kept the same settings for the sample rate and "Dec" which is interpolation for Tx as here: https://github.com/hiperiondev/hpsdr-p1-rpitx/wiki/Sdrangel-software then the actual sample rate is 24000 S/s and the delay can be as much as 4s which is more or less what you experience.

Some other device plugins have a FIFO of variable size and possibly this should apply here also.