Search code examples
c++qtgnuradio

Display past data in GNU Radio QT Time Sink


I have a module in GNU Radio that has a sampling rate of 50 samples per second. I am feeding that to a QT Time Sink to visualise it in real time. In a single window, I want 200 samples to be displayed but I want the update to be done every 50 samples. This means that at each instance, I need to display 150 past samples in addition to the 50 current samples.

Are there any options in the Time Sink block to achieve that?


Solution

  • No, there's no such options in the Qt Time Sink.

    What you can do, however, is split your sample path into one delayed and one undelayed path, and then use a "patterned interleaver block" to repeat parts of your sample stream.

    50 S/s is very low. You'll have a hard time working with this like you probably expect it to work – GNU Radio is a buffer architecture with relatively large pseudo-circular buffers (I wrote about how these work in a blog post), but the takeaway is that GNU Radio will tend to accumulate 4096 or 8192 (depending on the size of the individual sample) and process these at once (see the blog post). Which means that it might happen that you get one "burst" of samples every 80 seconds, then nothing for 80 seconds, then another burst.