#include <gr_sync_interpolator.h>
Override work to provide the signal processing implementation.
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_noutout (int ninput) |
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) |
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] |
References set_interpolation().
unsigned gr_sync_interpolator::interpolation | ( | ) | const [inline] |
Referenced by fixed_rate_ninput_to_noutout(), fixed_rate_noutput_to_ninput(), general_work(), gr_interp_fir_filter_scc::set_taps(), gr_interp_fir_filter_fsf::set_taps(), gr_interp_fir_filter_fff::set_taps(), gr_interp_fir_filter_fcc::set_taps(), gr_interp_fir_filter_ccf::set_taps(), gr_interp_fir_filter_ccc::set_taps(), gr_interp_fir_filter_scc::work(), gr_interp_fir_filter_fsf::work(), gr_interp_fir_filter_fff::work(), gr_interp_fir_filter_fcc::work(), gr_interp_fir_filter_ccf::work(), gr_interp_fir_filter_ccc::work(), gr_interp_fir_filter_ccc::~gr_interp_fir_filter_ccc(), gr_interp_fir_filter_ccf::~gr_interp_fir_filter_ccf(), gr_interp_fir_filter_fcc::~gr_interp_fir_filter_fcc(), gr_interp_fir_filter_fff::~gr_interp_fir_filter_fff(), gr_interp_fir_filter_fsf::~gr_interp_fir_filter_fsf(), and gr_interp_fir_filter_scc::~gr_interp_fir_filter_scc().
void gr_sync_interpolator::set_interpolation | ( | unsigned | interpolation | ) | [inline] |
References gr_block::set_output_multiple(), and gr_block::set_relative_rate().
Referenced by gr_interleave::check_topology(), and gr_sync_interpolator().
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 |
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.
Reimplemented in atsc_depad.
References fixed_rate_noutput_to_ninput().
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 |
Reimplemented from gr_sync_block.
References gr_block::consume_each(), interpolation(), and gr_sync_block::work().
int gr_sync_interpolator::fixed_rate_ninput_to_noutout | ( | int | ninput | ) |
References gr_block::history(), and interpolation().
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.
References gr_block::history(), and interpolation().
Referenced by forecast().