Hello I'm supposed to create a block in GnuRadio that has 1 input and 2 or 4 outputs , it's actually a Layer mapper in MIMO processing of LTE.
I have written the constructor : Layer_Mapper_Transmit_Diversity_cc_impl::Layer_Mapper_Transmit_Diversity_cc_impl(int numLay,int constNum) : gr_block("Layer_Mapper_Transmit_Diversity_cc", gr_make_io_signature(1, 1, sizeof (float)*16/(constNum)), gr_make_io_signature(2, 4, sizeof (float)*16/(constNum*numLay))) { NumLay=numLay; //Number of Layers M=constNum; //Constellation Cardinality } and the Forecast Function: void Layer_Mapper_Transmit_Diversity_cc_impl::forecast (int noutput_items, gr_vector_int &ninput_items_required) { ninput_items_required[0] = NumLay * noutput_items; } In The General Work Function I wanted to create 4 outputs this way: int Layer_Mapper_Transmit_Diversity_cc_impl::general_work (int noutput_items, gr_vector_int &ninput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items) { const float **in = (const float **) input_items[0]; float **out0 = (float **) output_items[0]; float **out1 = (float **) output_items[1]; float **out2 = (float **) output_items[2]; float **out3 = (float **) output_items[3]; Because the inputs and outputs are arrays so I declared them as matrices , does GnuRadio accept this ?
_______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio