12#ifndef INCLUDED_PFB_ARB_RESAMPLER_H
13#define INCLUDED_PFB_ARB_RESAMPLER_H
85 std::vector<fir_filter_ccf> d_filters;
86 std::vector<fir_filter_ccf> d_diff_filters;
87 std::vector<std::vector<float>> d_taps;
88 std::vector<std::vector<float>> d_dtaps;
89 unsigned int d_int_rate;
90 unsigned int d_dec_rate;
93 unsigned int d_last_filter;
94 unsigned int d_taps_per_filter;
96 float d_est_phase_change;
105 void create_diff_taps(
const std::vector<float>& newtaps,
106 std::vector<float>& difftaps);
116 void create_taps(
const std::vector<float>& newtaps,
117 std::vector<std::vector<float>>& ourtaps,
118 std::vector<kernel::fir_filter_ccf>& ourfilter);
131 const std::vector<float>&
taps,
132 unsigned int filter_size);
148 std::vector<std::vector<float>>
taps()
const;
215 std::vector<fir_filter_ccc> d_filters;
216 std::vector<fir_filter_ccc> d_diff_filters;
217 std::vector<std::vector<gr_complex>> d_taps;
218 std::vector<std::vector<gr_complex>> d_dtaps;
219 unsigned int d_int_rate;
220 unsigned int d_dec_rate;
223 unsigned int d_last_filter;
224 unsigned int d_taps_per_filter;
226 float d_est_phase_change;
235 void create_diff_taps(
const std::vector<gr_complex>& newtaps,
236 std::vector<gr_complex>& difftaps);
246 void create_taps(
const std::vector<gr_complex>& newtaps,
247 std::vector<std::vector<gr_complex>>& ourtaps,
248 std::vector<kernel::fir_filter_ccc>& ourfilter);
261 const std::vector<gr_complex>&
taps,
262 unsigned int filter_size);
278 std::vector<std::vector<gr_complex>>
taps()
const;
406 std::vector<fir_filter_fff> d_filters;
407 std::vector<fir_filter_fff> d_diff_filters;
408 std::vector<std::vector<float>> d_taps;
409 std::vector<std::vector<float>> d_dtaps;
410 unsigned int d_int_rate;
411 unsigned int d_dec_rate;
414 unsigned int d_last_filter;
415 unsigned int d_taps_per_filter;
417 float d_est_phase_change;
426 void create_diff_taps(
const std::vector<float>& newtaps,
427 std::vector<float>& difftaps);
437 void create_taps(
const std::vector<float>& newtaps,
438 std::vector<std::vector<float>>& ourtaps,
439 std::vector<kernel::fir_filter_fff>& ourfilter);
452 const std::vector<float>&
taps,
453 unsigned int filter_size);
470 std::vector<std::vector<float>>
taps()
const;
527 int filter(
float* output,
float* input,
int n_to_read,
int& n_read);
Definition: pfb_arb_resampler.h:213
pfb_arb_resampler_ccc & operator=(const pfb_arb_resampler_ccc &)=delete
void set_rate(float rate)
pfb_arb_resampler_ccc(const pfb_arb_resampler_ccc &)=delete
int group_delay() const
Definition: pfb_arb_resampler.h:312
unsigned int interpolation_rate() const
Definition: pfb_arb_resampler.h:305
int filter(gr_complex *output, gr_complex *input, int n_to_read, int &n_read)
unsigned int decimation_rate() const
Definition: pfb_arb_resampler.h:306
float fractional_rate() const
Definition: pfb_arb_resampler.h:307
unsigned int taps_per_filter() const
std::vector< std::vector< gr_complex > > taps() const
void set_taps(const std::vector< gr_complex > &taps)
float phase_offset(float freq, float fs)
pfb_arb_resampler_ccc(float rate, const std::vector< gr_complex > &taps, unsigned int filter_size)
Polyphase filterbank arbitrary resampler with gr_complex input, gr_complex output and float taps.
Definition: pfb_arb_resampler.h:83
int filter(gr_complex *output, gr_complex *input, int n_to_read, int &n_read)
void set_taps(const std::vector< float > &taps)
pfb_arb_resampler_ccf(float rate, const std::vector< float > &taps, unsigned int filter_size)
unsigned int taps_per_filter() const
pfb_arb_resampler_ccf & operator=(const pfb_arb_resampler_ccf &)=delete
void set_rate(float rate)
unsigned int decimation_rate() const
Definition: pfb_arb_resampler.h:176
float fractional_rate() const
Definition: pfb_arb_resampler.h:177
int group_delay() const
Definition: pfb_arb_resampler.h:182
unsigned int interpolation_rate() const
Definition: pfb_arb_resampler.h:175
pfb_arb_resampler_ccf(const pfb_arb_resampler_ccf &)=delete
std::vector< std::vector< float > > taps() const
float phase_offset(float freq, float fs)
Polyphase filterbank arbitrary resampler with float input, float output and float taps.
Definition: pfb_arb_resampler.h:404
unsigned int decimation_rate() const
Definition: pfb_arb_resampler.h:498
pfb_arb_resampler_fff(float rate, const std::vector< float > &taps, unsigned int filter_size)
pfb_arb_resampler_fff & operator=(const pfb_arb_resampler_fff &)=delete
std::vector< std::vector< float > > taps() const
void set_taps(const std::vector< float > &taps)
pfb_arb_resampler_fff(const pfb_arb_resampler_fff &)=delete
void set_rate(float rate)
unsigned int taps_per_filter() const
float phase_offset(float freq, float fs)
float fractional_rate() const
Definition: pfb_arb_resampler.h:499
int filter(float *output, float *input, int n_to_read, int &n_read)
int group_delay() const
Definition: pfb_arb_resampler.h:504
unsigned int interpolation_rate() const
Definition: pfb_arb_resampler.h:497
#define FILTER_API
Definition: gr-filter/include/gnuradio/filter/api.h:18
std::complex< float > gr_complex
Definition: gr_complex.h:15
static constexpr float taps[NSTEPS+1][NTAPS]
Definition: interpolator_taps.h:9
GNU Radio logging wrapper.
Definition: basic_block.h:29