Hi Guys, I do not understand how set_history and fixed rate blocks are interacting. Supposedly, the scheduler can figure out a static schedule for sync blocks. However, the sync_interpolator is forcasting this
int sync_interpolator::fixed_rate_noutput_to_ninput(int noutput_items) { return noutput_items / interpolation() + history() - 1; } but consumes only noutput_items / interpolation(). This means, that the scheduler is making a schedule based on the wrong info, the block is actually consuming LESS than it has predicted, so how can the scheduler make optimal schedule? On this point, it is not clear how history() is handled. I searched the archives, and the wisdom is, that set_history(2) means, that all the ninput_items and noutput_items and their relationship is completely unchanged, but we have an extra sample at the beginning of the input buffer. However, the sync_interpolator does not do this, it actually includes the history amount in the requested input. So does the scheduler takes history amounts into account, and the sync_interpolator has a bug, or every block has to add the history into their forecast? This is really confusing. I hope someone can shed some light on this. Best, Miklos _______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio