def test_002(self): l = 100000 stream = [[0] * l, [1] * l, [2] * l, [3] * l] mux = concatenate(stream) seed() for i in range(l): a = randint(0, len(mux) - 1) b = randint(0, len(mux) - 1) mux[a], mux[b] = mux[b], mux[a] imux = [] for x in mux: imux.append(int(x)) data = [ gr.vector_source_s(stream[0]), gr.vector_source_s(stream[1]), gr.vector_source_s(stream[2]), gr.vector_source_s(stream[3]) ] dst = gr.vector_sink_s() uut = ofdm.static_mux_v(gr.sizeof_short, imux) self.fg.connect(data[0], (uut, 0)) self.fg.connect(data[1], (uut, 1)) self.fg.connect(data[2], (uut, 2)) self.fg.connect(data[3], (uut, 3)) self.fg.connect(uut, dst) self.fg.run() self.assertEqual(list(mux), list(dst.data()))
def test_006(self): l = 100000 stream = [[0] * l, [1] * l, [2] * l] mux = [0, 2, 1] ref = concatenate([mux] * l) imux = [] for x in mux: imux.append(int(x)) data = [ gr.vector_source_s(stream[0]), gr.vector_source_s(stream[1]), gr.vector_source_s(stream[2]) ] dst = gr.vector_sink_s() uut = ofdm.static_mux_v(gr.sizeof_short, imux) self.fg.connect(data[0], (uut, 0)) self.fg.connect(data[1], (uut, 1)) self.fg.connect(data[2], (uut, 2)) self.fg.connect(uut, dst) self.fg.run() self.assertEqual(list(ref), list(dst.data()))
def test_001(self): stream = [[0] * 10, [1] * 10, [2] * 10] mux = [ 0, 2, 2, 1, 1, 2, 0, 2, 0, 0, 1, 0, 1, 0, 1, 2, 1, 2, 1, 1, 2, 0, 0, 2, 1, 2, 0, 1, 2, 0 ] imux = [] for x in mux: imux.append(int(x)) data = [ gr.vector_source_s(stream[0]), gr.vector_source_s(stream[1]), gr.vector_source_s(stream[2]) ] dst = gr.vector_sink_s() uut = ofdm.static_mux_v(gr.sizeof_short, imux) self.fg.connect(data[0], (uut, 0)) self.fg.connect(data[1], (uut, 1)) self.fg.connect(data[2], (uut, 2)) self.fg.connect(uut, dst) self.fg.run() self.assertEqual(mux, list(dst.data()))
def test_003 (self): stream = [ [float(0)]*10, [float(1)]*10, [float(2)]*10 ] mux = [ 0,2,2,1,1,2,0,2,0,0, 1,0,1,0,1,2,1,2,1,1, 2,0,0,2,1,2,0,1,2,0 ] imux = [] for x in mux: imux.append(int(x)) data = [gr.vector_source_f(stream[0]), gr.vector_source_f(stream[1]), gr.vector_source_f(stream[2])] dst = gr.vector_sink_f() uut = ofdm.static_mux_v(gr.sizeof_float, imux) self.fg.connect(data[0], (uut,0)) self.fg.connect(data[1], (uut,1)) self.fg.connect(data[2], (uut,2)) self.fg.connect(uut,dst) self.fg.run() self.assertEqual(map(float,mux),list(dst.data()))
def test_003(self): stream = [[float(0)] * 10, [float(1)] * 10, [float(2)] * 10] mux = [ 0, 2, 2, 1, 1, 2, 0, 2, 0, 0, 1, 0, 1, 0, 1, 2, 1, 2, 1, 1, 2, 0, 0, 2, 1, 2, 0, 1, 2, 0 ] imux = [] for x in mux: imux.append(int(x)) data = [ gr.vector_source_f(stream[0]), gr.vector_source_f(stream[1]), gr.vector_source_f(stream[2]) ] dst = gr.vector_sink_f() uut = ofdm.static_mux_v(gr.sizeof_float, imux) self.fg.connect(data[0], (uut, 0)) self.fg.connect(data[1], (uut, 1)) self.fg.connect(data[2], (uut, 2)) self.fg.connect(uut, dst) self.fg.run() self.assertEqual(map(float, mux), list(dst.data()))
def test_002 (self): l = 100000 stream = [ [0]*l, [1]*l, [2]*l, [3]*l ] mux = concatenate(stream) seed() for i in range(l): a = randint(0,len(mux)-1) b = randint(0,len(mux)-1) mux[a],mux[b] = mux[b],mux[a] imux = [] for x in mux: imux.append(int(x)) data = [gr.vector_source_s(stream[0]), gr.vector_source_s(stream[1]), gr.vector_source_s(stream[2]), gr.vector_source_s(stream[3])] dst = gr.vector_sink_s() uut = ofdm.static_mux_v(gr.sizeof_short, imux) self.fg.connect(data[0], (uut,0)) self.fg.connect(data[1], (uut,1)) self.fg.connect(data[2], (uut,2)) self.fg.connect(data[3], (uut,3)) self.fg.connect(uut,dst) self.fg.run() self.assertEqual(list(mux),list(dst.data()))
def test_006 (self): l = 100000 stream = [ [0]*l, [1]*l, [2]*l ] mux = [ 0,2,1 ] ref = concatenate([mux]*l) imux = [] for x in mux: imux.append(int(x)) data = [gr.vector_source_s(stream[0]), gr.vector_source_s(stream[1]), gr.vector_source_s(stream[2])] dst = gr.vector_sink_s() uut = ofdm.static_mux_v(gr.sizeof_short, imux) self.fg.connect(data[0], (uut,0)) self.fg.connect(data[1], (uut,1)) self.fg.connect(data[2], (uut,2)) self.fg.connect(uut,dst) self.fg.run() self.assertEqual(list(ref),list(dst.data()))
def test_005 (self): stream = [ [0]*10, [1]*10, [2]*10 ] mux = [ 0,1,2 ] ref = [ 0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,0,1,2,0,1,2, 0,1,2,0,1,2,0,1,2 ] imux = [] for x in mux: imux.append(int(x)) data = [gr.vector_source_s(stream[0]), gr.vector_source_s(stream[1]), gr.vector_source_s(stream[2])] dst = gr.vector_sink_s() uut = ofdm.static_mux_v(gr.sizeof_short, imux) self.fg.connect(data[0], (uut,0)) self.fg.connect(data[1], (uut,1)) self.fg.connect(data[2], (uut,2)) self.fg.connect(uut,dst) self.fg.run() self.assertEqual(ref,list(dst.data()))
def __init__(self, vlen, data_blocks, preamble_block, cp_len, framelength, bits_per_subc): gr.hier_block2.__init__(self, "ofdm_frame_src", gr.io_signature(0, 0, 0), gr.io_signature(1, 1, gr.sizeof_gr_complex)) data_block_src_i = data_block_src(bits_per_subc, vlen, data_blocks) mux_ctrl = concatenate([[0], [1] * (framelength - 1)]) preamble_src = gr.vector_source_c(preamble_block, True, vlen) self.preamble_src = preamble_src block_mux = ofdm.static_mux_v(vlen * gr.sizeof_gr_complex, mux_ctrl.tolist()) block_stream = ofdm.cyclic_prefixer(vlen, vlen + cp_len) self.connect(preamble_src, (block_mux, 0)) self.connect(data_block_src_i, (block_mux, 1)) self.connect(block_mux, block_stream, self) self.reset_blocks = [data_block_src_i, block_mux] self.src = data_block_src_i
def __init__( self, vlen, data_blocks, preamble_block, cp_len, framelength, bits_per_subc ): gr.hier_block2.__init__( self, "ofdm_frame_src", gr.io_signature(0,0,0), gr.io_signature( 1, 1, gr.sizeof_gr_complex ) ) data_block_src_i = data_block_src( bits_per_subc, vlen, data_blocks ) mux_ctrl = concatenate([[0],[1]*(framelength-1)]) preamble_src = gr.vector_source_c( preamble_block, True, vlen ) self.preamble_src = preamble_src block_mux = ofdm.static_mux_v( vlen * gr.sizeof_gr_complex, mux_ctrl ) block_stream = ofdm.cyclic_prefixer( vlen, vlen+cp_len ) self.connect( preamble_src, ( block_mux, 0 ) ) self.connect( data_block_src_i, ( block_mux, 1 ) ) self.connect( block_mux, block_stream, self ) self.reset_blocks = [ data_block_src_i, block_mux ] self.src = data_block_src_i