sync_XXX
很简单,输入输出比固定,不需要做consume和produce。可以调用set_history(TAPS_LEN); 来输入历史数据,类似fir。
source:1 2 3 4 5 6 7 8 9 10
noutput=5
则第一次输入:12345
set_history(2)
则得二次输入为
56789
第三次输入为
678910
若set_history(1)//默认值
则第二次输入为
6 7 8 9 10
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include <gnuradio/io_signature.h>
#include "bin2dec_bb_impl.h"
namespace gr {
namespace dab {
bin2dec_bb::sptr
bin2dec_bb::make(uint32_t k)
{
return gnuradio::get_initial_sptr
(new bin2dec_bb_impl(k));
}
/*
* The private constructor
*/
bin2dec_bb_impl::bin2dec_bb_impl(uint32_t k)
: gr::sync_decimator("bin2dec_bb",
gr::io_signature::make(1, 1, sizeof(uint8_t)),
gr::io_signature::make(1, 1, sizeof(uint8_t)), k),
d_k(k)
{
if (d_k == 0) {
throw std::out_of_range("interpolation must be > 0");
}
}
/*
* Our virtual destructor.
*/
bin2dec_bb_impl::~bin2dec_bb_impl()
{
}
int
bin2dec_bb_impl::work(int noutput_items,