[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Discuss-gnuradio] sync_interpolator

From: Miklos Maroti
Subject: [Discuss-gnuradio] sync_interpolator
Date: Tue, 27 Aug 2013 00:11:48 -0500

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

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.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]