unsigned int filter_size);
std::vector<gr_fir_ccf*> d_filters;
+ std::vector<gr_fir_ccf*> d_diff_filters;
std::vector< std::vector<float> > d_taps;
+ std::vector< std::vector<float> > d_dtaps;
unsigned int d_int_rate; // the number of filters (interpolation rate)
unsigned int d_dec_rate; // the stride through the filters (decimation rate)
float d_flt_rate; // residual rate for the linear interpolation
gr_pfb_arb_resampler_ccf (float rate,
const std::vector<float> &taps,
unsigned int filter_size);
+
+ void create_diff_taps(const std::vector<float> &newtaps,
+ std::vector<float> &difftaps);
public:
~gr_pfb_arb_resampler_ccf ();
-
+
/*!
* Resets the filterbank's filter taps with the new prototype filter
* \param taps (vector/list of floats) The prototype filter to populate the filterbank. The taps
* should be generated at the interpolated sampling rate.
*/
- void set_taps (const std::vector<float> &taps);
+ void set_taps (const std::vector<float> &newtaps,
+ std::vector< std::vector<float> > &ourtaps,
+ std::vector<gr_fir_ccf*> &ourfilter);
/*!
* Print all of the filterbank taps to screen.