|Subject:||Re: [Discuss-gnuradio] gr_block::set_history()|
|Date:||Fri, 21 Sep 2012 10:15:28 +1000|
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; My question is wheere in 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 refers to the total number of data in the buffer. So, in[noutput_items-1] is the last element of the array, in is the start of the new items, and the in[-m] refers to the beginning of the history block. Thus, ninput_items 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 to in[noutput_items+m-2] are what you can use to produce noutput_items outputs.
in is the oldest and in[noutput_items+m-2] is the newest sample.
Any one can correct me?
|[Prev in Thread]||Current Thread||[Next in Thread]|