GNU Radio 3.3.0 C++ API
|
synchronous 1:N input to output with historyOverride work to provide the signal processing implementation. More...
#include <gr_sync_interpolator.h>
Public Member Functions | |
unsigned | interpolation () const |
void | set_interpolation (unsigned interpolation) |
void | forecast (int noutput_items, gr_vector_int &ninput_items_required) |
Estimate input requirements given output request. | |
int | general_work (int noutput_items, gr_vector_int &ninput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items) |
compute output items from input items | |
int | fixed_rate_ninput_to_noutput (int ninput) |
Given ninput samples, return number of output samples that will be produced. N.B. this is only defined if fixed_rate returns true. Generally speaking, you don't need to override this. | |
int | fixed_rate_noutput_to_ninput (int noutput) |
Given noutput samples, return number of input samples required to produce noutput. N.B. this is only defined if fixed_rate returns true. Generally speaking, you don't need to override this. | |
Protected Member Functions | |
gr_sync_interpolator (const std::string &name, gr_io_signature_sptr input_signature, gr_io_signature_sptr output_signature, unsigned interpolation) |
synchronous 1:N input to output with history
Override work to provide the signal processing implementation.
gr_sync_interpolator::gr_sync_interpolator | ( | const std::string & | name, |
gr_io_signature_sptr | input_signature, | ||
gr_io_signature_sptr | output_signature, | ||
unsigned | interpolation | ||
) | [protected] |
int gr_sync_interpolator::fixed_rate_ninput_to_noutput | ( | int | ninput | ) | [virtual] |
Given ninput samples, return number of output samples that will be produced. N.B. this is only defined if fixed_rate returns true. Generally speaking, you don't need to override this.
Reimplemented from gr_sync_block.
int gr_sync_interpolator::fixed_rate_noutput_to_ninput | ( | int | noutput | ) | [virtual] |
Given noutput samples, return number of input samples required to produce noutput. N.B. this is only defined if fixed_rate returns true. Generally speaking, you don't need to override this.
Reimplemented from gr_sync_block.
void gr_sync_interpolator::forecast | ( | int | noutput_items, |
gr_vector_int & | ninput_items_required | ||
) | [virtual] |
Estimate input requirements given output request.
noutput_items | number of output items to produce |
ninput_items_required | number of input items required on each input stream |
Given a request to product noutput_items
, estimate the number of data items required on each input stream. The estimate doesn't have to be exact, but should be close.
Reimplemented from gr_sync_block.
int gr_sync_interpolator::general_work | ( | int | noutput_items, |
gr_vector_int & | ninput_items, | ||
gr_vector_const_void_star & | input_items, | ||
gr_vector_void_star & | output_items | ||
) | [virtual] |
compute output items from input items
noutput_items | number of output items to write on each output stream |
ninput_items | number of input items available on each input stream |
input_items | vector of pointers to the input items, one entry per input stream |
output_items | vector of pointers to the output items, one entry per output stream |
general_work must call consume or consume_each to indicate how many items were consumed on each input stream.
Reimplemented from gr_sync_block.
unsigned gr_sync_interpolator::interpolation | ( | ) | const [inline] |
Referenced by set_interpolation().
void gr_sync_interpolator::set_interpolation | ( | unsigned | interpolation | ) | [inline] |
References interpolation(), gr_block::set_output_multiple(), and gr_block::set_relative_rate().