GNU Radio 3.7.1 C++ API
|
synchronous 1:N input to output with historyOverride work to provide the signal processing implementation. More...
#include <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 | |
sync_interpolator (void) | |
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::sync_interpolator | ( | void | ) | [inline, protected] |
gr::sync_interpolator::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] |
void gr::sync_interpolator::set_interpolation | ( | unsigned | interpolation | ) | [inline] |