[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Discuss-gnuradio] sync_interpolator
From: |
Martin Braun (CEL) |
Subject: |
Re: [Discuss-gnuradio] sync_interpolator |
Date: |
Tue, 27 Aug 2013 09:19:56 +0200 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
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
> address@hidden
> 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
pgpgtd774W2ib.pgp
Description: PGP signature