[Top][All Lists]

[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.

Any one can correct me?

reply via email to

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