From 3ac56587df80ee257b36a7c088d0ede8d1c7a18c Mon Sep 17 00:00:00 2001 From: Tom Rondeau Date: Wed, 6 Oct 2010 20:50:25 -0400 Subject: [PATCH] Fixed missing set_relative_rate in these two blocks. The others don't actually do it, even though it's counter-intuitive for the pfb_decimate, which is a sync_block (decimation actually care of in the stream_to_streams). --- gnuradio-core/src/lib/filter/gr_pfb_arb_resampler_ccf.cc | 4 +++- gnuradio-core/src/lib/filter/gr_pfb_channelizer_ccf.cc | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/gnuradio-core/src/lib/filter/gr_pfb_arb_resampler_ccf.cc b/gnuradio-core/src/lib/filter/gr_pfb_arb_resampler_ccf.cc index 2c5e3a7a..39963200 100644 --- a/gnuradio-core/src/lib/filter/gr_pfb_arb_resampler_ccf.cc +++ b/gnuradio-core/src/lib/filter/gr_pfb_arb_resampler_ccf.cc @@ -35,7 +35,7 @@ gr_pfb_arb_resampler_ccf_sptr gr_make_pfb_arb_resampler_ccf (float rate, unsigned int filter_size) { return gnuradio::get_initial_sptr(new gr_pfb_arb_resampler_ccf (rate, taps, - filter_size)); + filter_size)); } @@ -81,6 +81,8 @@ gr_pfb_arb_resampler_ccf::gr_pfb_arb_resampler_ccf (float rate, create_diff_taps(taps, dtaps); create_taps(taps, d_taps, d_filters); create_taps(dtaps, d_dtaps, d_diff_filters); + + set_relative_rate(rate); } gr_pfb_arb_resampler_ccf::~gr_pfb_arb_resampler_ccf () diff --git a/gnuradio-core/src/lib/filter/gr_pfb_channelizer_ccf.cc b/gnuradio-core/src/lib/filter/gr_pfb_channelizer_ccf.cc index f86782da..cb67b810 100644 --- a/gnuradio-core/src/lib/filter/gr_pfb_channelizer_ccf.cc +++ b/gnuradio-core/src/lib/filter/gr_pfb_channelizer_ccf.cc @@ -60,6 +60,8 @@ gr_pfb_channelizer_ccf::gr_pfb_channelizer_ccf (unsigned int numchans, if(fltp != 0.0) throw std::invalid_argument("gr_pfb_channelizer: oversample rate must be N/i for i in [1, N]"); + set_relative_rate(1.0/intp); + d_filters = std::vector(d_numchans); // Create an FIR filter for each channel and zero out the taps -- 2.30.2