On Tue, Aug 27, 2013 at 12:11:48AM -0500, Miklos Maroti wrote: > 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?
Hi Miklos, Think of the history as the number of *past* input samples it takes to produce one output sample. The classic example is an FIR filter, where you need as many samples as you have taps. Minimum is of course 1 (which means you need only the current sample). This is also the default value. In a sync_interpolator, noutput_items is always an integer multiple of ninput_items. So if you have no history configured, it must consume noutput_items / interpolation(). So what you're seeing is correct (unless you changed your history). > 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 I'm sure the topic of history() is covered in the tutorials. Also, what you're saying is correct and fits what I just explained above. MB > 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 -- Karlsruhe Institute of Technology (KIT) Communications Engineering Lab (CEL) Dipl.-Ing. Martin Braun Research Associate Kaiserstraße 12 Building 05.01 76131 Karlsruhe Phone: +49 721 608-43790 Fax: +49 721 608-46071 www.cel.kit.edu KIT -- University of the State of Baden-Württemberg and National Laboratory of the Helmholtz Association
pgpcqtNYQar03.pgp
Description: PGP signature
_______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio