Friday, March 15, 2024

File Meta Source causes huge lag at end of file when used with repeat = True

Hey,

 

I’m pretty sure that I discovered another bug in File Meta Source, but maybe this is known behavior or user error.

 

Short Summary:

 

When using File Meta Source with Repeat = True, there is a very noticeable lag (ca 500 ms) when the file “rewinds” to the beginning, at least when reading at high sample rates.

 

Setup:

 

    *   GNURadio 3.10.9.2

    *   Python 3.11.8

    *   Installed through radioconda

    *   X86-64 running Ubuntu 20.04 LTS

    *   Ettus Research USRP B200

    *   UHD 4.6.0.0

 

Steps to Reproduce:

 

  1. Create a IQ file using File Meta Sink with enough samples for approx. 1s at the chosen sample rate (40-56 MS/s, see note below)
  2. Replay the file using  a File Meta Source into a UHD USRP Sink.
  3. Observe the TX light on the USRP.

 

Observed Behavior:

The TX light blinks. Underflow messages on the console are created

 

Expected behavior:

The TX light stays on without interruption. No underflow messages created.

 

 

Workaround:

Introduce a block in-between the File Meta Source and the USRP sink and set the minoutbuf value in the advanced settings to a large value, e.g. enough samples for 1 s. Tested with Throttle block (and maximum rate set to something higher than the sample rate), as well as a IShortToComplex block, but presumably any block works. Essentially, this block then becomes a buffer for whenever the File Meta Source is too slow. Setting minoutbuf on the File Meta Source does NOT work.

 

I have this on video and I can also supply the GRC files for reproduction, but I apparently can’t attach this to this mail, I’m unsure about the rules regarding attachments in mailman. Send me a mail and I’ll gladly send you the zip file.

 

Notes:

  • Due to issue #7191, this must be done with a file with inline headers, otherwise the repetition will not work
  • This problem may not occur or may be less obvious when using lower sample rates, I didn’t check.
  • This does not occur when using the File Source
  • Using a ramdisk does not fix the issue

 

 

Please let me know if you have any other ideas, else I’ll create another issue on Github!

 

Thank you!

Adrian Winter

No comments:

Post a Comment