discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: [Discuss-gnuradio] How to predict output buffer size


From: Marcus Müller
Subject: Re: [Discuss-gnuradio] How to predict output buffer size
Date: Sat, 28 Jan 2017 22:23:46 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.3.0

Hi Igor,

thanks for following up!

So, I gave your description a bit of thought; I'd like to point you at
the fact that it's not guaranteed that a block of items handed to a
general_work-call ends with a "0", so don't forget to keep your count if
your last input item is a 1! For me, this boils down to a state machine,
which transitions states for every input item between the three possible
states "IN ZERO PERIOD", "COUNTING ONES" and "EMITTING THE COUNT,
BECAUSE THIS IS THE FIRST 0 AFTER 1s".

Regarding your forecast() implementation: it's totally OK to
"underestimate" the number of samples you need to produce a given number
of output samples (in your case, that is noutput_items * 2, because even
a single 1 needs to be followed by a 0). If you can't produce any output
with what GNU Radio offered you, that's OK – you'll be called again if
there's new input.

Best regards,
Marcus

On 28.01.2017 22:02, Igor Volodin wrote:
> Hi Marcus,
>
> Thanks for reply.
> I have rechecked offical documentation about forecast() method, and
> found that you were right. All i think about forecast() behaviour was
> my miscomprehension.
>
> I just want count a number of consecutive samples that have a value of
> "1".
> If my block will get on input the following  sequence [0, 1, 1, 1, 0],
> it should send to output a value 3.
> If on input will be [1, 1, 0, 1, 0, 0] output should present 2 integer
> values: "2" and "1"
>
>
>
> Best regards,
> Igor
>
> _______________________________________________
> Discuss-gnuradio mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio




reply via email to

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