def test_001_t(self): M = 2**10 interpolation = 2 num_vectors = 2**8 src_data = list() expected_result = list() for i in range(M * num_vectors): src_data.append(int(random.random() * 10)) if (i % M) == (M - 1): for k in range(interpolation): expected_result.extend(src_data[i + 1 - M:i + 1]) # print expected_result src = blocks.vector_source_c(src_data, vlen=M) vcp = ofdm.fbmc_vector_copy_vcvc(M, interpolation) dst = blocks.vector_sink_c(vlen=M) self.tb.connect(src, vcp, dst) self.tb.run() result_data = dst.data() # print result_data self.assertComplexTuplesAlmostEqual(tuple(expected_result), result_data)
def __init__(self, M): gr.hier_block2.__init__(self, "overlap_serial_to_parallel_cvc", gr.io_signature(1, 1, gr.sizeof_gr_complex*1), gr.io_signature(1, 1, gr.sizeof_gr_complex*M), ) ################################################## # Parameters ################################################## self.M = M ################################################## # Blocks ################################################## ##self.fbmc_vector_reshape_vcvc_1 = fbmc_vector_reshape_vcvc(M/2, M) ##self.fbmc_vector_reshape_vcvc_0 = fbmc_vector_reshape_vcvc(M, M/2) self.fbmc_vector_copy_vcvc_0 = ofdm.fbmc_vector_copy_vcvc(M/2, 2) self.blocks_stream_to_vector_0 = blocks.stream_to_vector(gr.sizeof_gr_complex*1, M/2) # self.blocks_skiphead_0 = blocks.skiphead(gr.sizeof_gr_complex*M/2, 1) ################################################## # Connections ################################################## # self.connect((self.blocks_skiphead_0, 0), (self.fbmc_vector_reshape_vcvc_1, 0)) self.connect((self, 0), (self.blocks_stream_to_vector_0, 0)) self.connect((self.blocks_stream_to_vector_0, 0), (self.fbmc_vector_copy_vcvc_0, 0)) # self.connect((self.fbmc_vector_copy_vcvc_0, 0), (self, 0)) # self.connect((self.fbmc_vector_copy_vcvc_0, 0), (self.fbmc_vector_reshape_vcvc_0, 0)) # self.connect((self.fbmc_vector_reshape_vcvc_0, 0), (self.blocks_skiphead_0, 0)) # self.connect((self.fbmc_vector_reshape_vcvc_0, 0), (self, 0)) # self.fbmc_vector_copy_vcvc_0 = fbmc.vector_copy_vcvc(M, 2) self.blocks_vector_to_stream_0 = blocks.vector_to_stream(gr.sizeof_gr_complex*1, M/2) self.blocks_stream_to_vector_0_0 = blocks.stream_to_vector(gr.sizeof_gr_complex*M/2, 2) # self.blocks_stream_to_vector_0 = blocks.stream_to_vector(gr.sizeof_gr_complex*1, M) self.blocks_skiphead_0 = blocks.skiphead(gr.sizeof_gr_complex*M/2, 1) # ################################################## # # Connections # ################################################## # self.connect((self.blocks_stream_to_vector_0, 0), (self.fbmc_vector_copy_vcvc_0, 0)) # self.connect((self.fbmc_vector_copy_vcvc_0, 0), (self.blocks_vector_to_stream_0, 0)) # # self.connect((self.blocks_vector_to_stream_0, 0), (self.blocks_stream_to_vector_0_0, 0)) # self.connect((self.blocks_vector_to_stream_0, 0), (self.blocks_skiphead_0, 0)) # self.connect((self.blocks_skiphead_0, 0), (self.blocks_stream_to_vector_0_0, 0)) # # self.connect((self, 0), (self.blocks_stream_to_vector_0, 0)) # self.connect((self.blocks_stream_to_vector_0_0, 0), (self, 0)) self.connect((self.fbmc_vector_copy_vcvc_0, 0),(self.blocks_skiphead_0, 0)) self.connect((self.blocks_skiphead_0, 0), (self.blocks_stream_to_vector_0_0, 0)) # self.connect((self, 0), (self.blocks_stream_to_vector_0, 0)) self.connect((self.blocks_stream_to_vector_0_0, 0), (self, 0))
def test_001_t (self): M= 2**10 interpolation = 2 num_vectors = 2**8 src_data = list() expected_result = list() for i in range(M*num_vectors): src_data.append(int(random.random()*10)) if (i%M)==(M-1): for k in range(interpolation): expected_result.extend(src_data[i+1-M:i+1]) # print expected_result src = blocks.vector_source_c(src_data,vlen=M) vcp = ofdm.fbmc_vector_copy_vcvc(M,interpolation) dst = blocks.vector_sink_c(vlen=M) self.tb.connect(src,vcp,dst) self.tb.run() result_data = dst.data() # print result_data self.assertComplexTuplesAlmostEqual(tuple(expected_result),result_data)
def __init__(self, M): gr.hier_block2.__init__( self, "overlap_serial_to_parallel_cvc", gr.io_signature(1, 1, gr.sizeof_gr_complex * 1), gr.io_signature(1, 1, gr.sizeof_gr_complex * M), ) ################################################## # Parameters ################################################## self.M = M ################################################## # Blocks ################################################## ##self.fbmc_vector_reshape_vcvc_1 = fbmc_vector_reshape_vcvc(M/2, M) ##self.fbmc_vector_reshape_vcvc_0 = fbmc_vector_reshape_vcvc(M, M/2) self.fbmc_vector_copy_vcvc_0 = ofdm.fbmc_vector_copy_vcvc(M / 2, 2) self.blocks_stream_to_vector_0 = blocks.stream_to_vector( gr.sizeof_gr_complex * 1, M / 2) # self.blocks_skiphead_0 = blocks.skiphead(gr.sizeof_gr_complex*M/2, 1) ################################################## # Connections ################################################## # self.connect((self.blocks_skiphead_0, 0), (self.fbmc_vector_reshape_vcvc_1, 0)) self.connect((self, 0), (self.blocks_stream_to_vector_0, 0)) self.connect((self.blocks_stream_to_vector_0, 0), (self.fbmc_vector_copy_vcvc_0, 0)) # self.connect((self.fbmc_vector_copy_vcvc_0, 0), (self, 0)) # self.connect((self.fbmc_vector_copy_vcvc_0, 0), (self.fbmc_vector_reshape_vcvc_0, 0)) # self.connect((self.fbmc_vector_reshape_vcvc_0, 0), (self.blocks_skiphead_0, 0)) # self.connect((self.fbmc_vector_reshape_vcvc_0, 0), (self, 0)) # self.fbmc_vector_copy_vcvc_0 = fbmc.vector_copy_vcvc(M, 2) self.blocks_vector_to_stream_0 = blocks.vector_to_stream( gr.sizeof_gr_complex * 1, M / 2) self.blocks_stream_to_vector_0_0 = blocks.stream_to_vector( gr.sizeof_gr_complex * M / 2, 2) # self.blocks_stream_to_vector_0 = blocks.stream_to_vector(gr.sizeof_gr_complex*1, M) self.blocks_skiphead_0 = blocks.skiphead(gr.sizeof_gr_complex * M / 2, 1) # ################################################## # # Connections # ################################################## # self.connect((self.blocks_stream_to_vector_0, 0), (self.fbmc_vector_copy_vcvc_0, 0)) # self.connect((self.fbmc_vector_copy_vcvc_0, 0), (self.blocks_vector_to_stream_0, 0)) # # self.connect((self.blocks_vector_to_stream_0, 0), (self.blocks_stream_to_vector_0_0, 0)) # self.connect((self.blocks_vector_to_stream_0, 0), (self.blocks_skiphead_0, 0)) # self.connect((self.blocks_skiphead_0, 0), (self.blocks_stream_to_vector_0_0, 0)) # # self.connect((self, 0), (self.blocks_stream_to_vector_0, 0)) # self.connect((self.blocks_stream_to_vector_0_0, 0), (self, 0)) self.connect((self.fbmc_vector_copy_vcvc_0, 0), (self.blocks_skiphead_0, 0)) self.connect((self.blocks_skiphead_0, 0), (self.blocks_stream_to_vector_0_0, 0)) # self.connect((self, 0), (self.blocks_stream_to_vector_0, 0)) self.connect((self.blocks_stream_to_vector_0_0, 0), (self, 0))