コード例 #1
0
ファイル: qa_static_mux.py プロジェクト: luwangg/gr-ofdm-1
    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()))
コード例 #2
0
ファイル: qa_static_mux.py プロジェクト: luwangg/gr-ofdm-1
    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()))
コード例 #3
0
ファイル: qa_static_mux.py プロジェクト: luwangg/gr-ofdm-1
    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()))
コード例 #4
0
ファイル: qa_static_mux.py プロジェクト: WindyCitySDR/gr-ofdm
  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()))
コード例 #5
0
ファイル: qa_static_mux.py プロジェクト: luwangg/gr-ofdm-1
    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()))
コード例 #6
0
ファイル: qa_static_mux.py プロジェクト: WindyCitySDR/gr-ofdm
  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()))
コード例 #7
0
ファイル: qa_static_mux.py プロジェクト: WindyCitySDR/gr-ofdm
  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()))
コード例 #8
0
ファイル: qa_static_mux.py プロジェクト: WindyCitySDR/gr-ofdm
  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()))
コード例 #9
0
    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
コード例 #10
0
  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