discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: [Discuss-gnuradio] gr_block::set_history()


From: Kyle Zhou
Subject: Re: [Discuss-gnuradio] gr_block::set_history()
Date: Fri, 21 Sep 2012 10:15:28 +1000



I have a general work function for which I will use GNU Radio's history
functionality. In the block's constructor, I call set_history( m ). I cast
the input buffer in the standard way:

  const float *in = (const float *) input_items[0];

My question is wheere in[0] refers to in the buffer. It would make sense to
me that noutput_items is the number of new items for the block to consume
and ninput_items[0] refers to the total number of data in the buffer. So,
in[noutput_items-1] is the last element of the array, in[0] is the start of
the new items, and the in[-m] refers to the beginning of the history block.
Thus, ninput_items[0] is greater than or equal to m + noutput_items.

I don't know if this assumption is true and would be pleased if someone knew
how this works. The GNU Radio API is somewhat vague in this respect. Thanks
in advance!

*************************************************

From you description you should use sync block. 
Anyway, my knowledge on history is: (assuming 1:1 in-out ratio)
in[0] to in[noutput_items+m-2] are what you can use to produce noutput_items outputs.
in[0] is the oldest and in[noutput_items+m-2] is the newest sample.
ninput_items[0]==noutput_items+m-1

Any one can correct me?
KZ



reply via email to

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