def test_001_t(self):
        cell_id = 124
        N_ant = 2
        mib = lte_test.pack_mib(50, 0, 1.0, 511)
        bch = tuple(lte_test.encode_bch(mib, N_ant))
        p_scrambled = lte_test.pbch_scrambling(bch, cell_id)
        p_scrambled = lte_test.nrz_encoding(p_scrambled)
        n_bch = tuple(lte_test.nrz_encoding(bch))

        #print len(p_scrambled)
        #print p_scrambled[0:20]

        self.src.set_data(p_scrambled)  #[0:480])
        self.descr.set_cell_id(cell_id)

        # set up fg
        self.tb.run()
        res = self.snk.data()
        print len(res)

        count = 0
        for i in range(len(res) / len(n_bch)):
            part = res[len(n_bch) * i:(i + 1) * len(n_bch)]
            try:
                self.assertEqual(part, n_bch, 3)
                print str(i) + "\tSUCCESS"
            except:
                print str(i)
                count = count + 1
        print "\nresult"
        print count
        print len(res) / len(n_bch)
    def test_002_data(self):
        cell_id = 124
        N_ant = 2
        tl = 1024
        data = []
        ref_bch = []
        for i in range(tl / 4):
            mib = lte_test.pack_mib(50, 0, 1.0, i * 4)
            bch = tuple(lte_test.encode_bch(mib, N_ant))
            p_scrambled = lte_test.pbch_scrambling(bch, cell_id)
            p_scrambled = lte_test.nrz_encoding(p_scrambled)
            data.extend(p_scrambled)
            bch = tuple(lte_test.nrz_encoding(bch))
            ref_bch.extend(bch)

        self.src.set_data(data)
        self.descr.set_cell_id(cell_id)
        self.tb.run()

        res = self.snk.data()
        print len(res)

        count = 0
        for i in range(len(res) / len(ref_bch)):
            part = res[len(ref_bch) * i:(i + 1) * len(ref_bch)]
            try:
                self.assertEqual(part, ref_bch, 3)
                print str(i) + "\tSUCCESS"
            except:
                print str(i)
                count = count + 1
        print "\nresult"
        print count
        print len(res) / len(ref_bch)
Example #3
0
    def test_001_generated(self):
        print "\ntest_001_generated"
        cell_id = 124
        N_ant = 2
        style = "tx_diversity"
        mib = lte_test.pack_mib(50, 0, 1.0, 511)
        bch = lte_test.encode_bch(mib, N_ant)

        scrambled = lte_test.pbch_scrambling(bch, cell_id)
        qpsk_modulated = lte_test.qpsk_modulation(scrambled)
        #print np.shape(qpsk_modulated)
        layer_mapped = lte_test.layer_mapping(qpsk_modulated, N_ant, style)
        pre_coded = lte_test.pre_coding(layer_mapped, N_ant, style)
        #print np.shape(pre_coded)

        h0 = [complex(1, 0)] * len(pre_coded[0])
        h1 = [complex(1, 0)] * len(pre_coded[1])
        stream = [pre_coded[0][i] + pre_coded[1][i] for i in range(len(pre_coded[0]))]

        self.src1.set_data(stream)
        self.src2.set_data(h0)
        self.src3.set_data(h1)
        self.tb.run()
        res = self.snk.data()

        exp_res = []
        for i in range(len(stream) / 240):
            print i
            lay0 = layer_mapped[0][i * 120:(i + 1) * 120]
            lay1 = layer_mapped[1][i * 120:(i + 1) * 120]
            comb = [lay0, lay1]
            exp_res.extend(lte_test.prepare_for_demapper_block(comb, N_ant, style))

        print "test 001 final ASSERT!"
        print self.assertComplexTuplesAlmostEqual(res, exp_res)
    def test_001_t(self):
        cell_id = 124
        N_ant = 2
        mib = lte_test.pack_mib(50, 0, 1.0, 511)
        bch = tuple(lte_test.encode_bch(mib, N_ant))
        p_scrambled = lte_test.pbch_scrambling(bch, cell_id)
        p_scrambled = lte_test.nrz_encoding(p_scrambled)
        n_bch = tuple(lte_test.nrz_encoding(bch))

        self.src.set_data(p_scrambled[0:480])
        self.descr.set_cell_id(cell_id)

        # set up fg
        self.tb.run()
        res = self.snk.data()

        count = 0
        for i in range(len(res) / len(n_bch)):
            part = res[len(n_bch) * i : (i + 1) * len(n_bch)]
            try:
                self.assertEqual(part, n_bch, 3)
                print str(i) + "\tSUCCESS"
            except:
                print str(i)
                count = count + 1
        print "\nresult"
        print count
        print len(res) / len(n_bch)
Example #5
0
    def test_001_t(self):
        cell_id = 124
        N_ant = 2
        tl = 1024
        data = []
        input_data = []
        for i in range(tl / 4):
            mib = lte_test.pack_mib(50, 0, 1.0, i * 4)
            bch = tuple(lte_test.encode_bch(mib, N_ant))
            p_scrambled = lte_test.pbch_scrambling(bch, cell_id)
            input_data.extend(lte_test.nrz_encoding(p_scrambled))
            mod = lte_test.qpsk_modulation(p_scrambled)
            data.extend(mod)

        self.src.set_data(data)

        dbgs = blocks.file_sink(240 * gr.sizeof_gr_complex,
                                "/home/johannes/tests/demodulate.dat")
        self.tb.connect(self.src, dbgs)
        # set up fg
        self.tb.run()
        # check data
        res = self.snk.data()
        exp_res = tuple(
            input_data
        )  #tuple([input_data[i]/math.sqrt(2) for i in range(len(input_data))])
        print self.assertFloatTuplesAlmostEqual(res, exp_res, 5)
 def test_001_t (self):
     print "demodulation test"
     mib = lte_test.pack_mib(50,0,1.0, 511)   
     bch = lte_test.encode_bch(mib, 2)
     p_scrambled = lte_test.pbch_scrambling(bch, 124)
     input_data = p_scrambled#[0:480]
     qpsk_mod = lte_test.qpsk_modulation(input_data)
     input_data = lte_test.nrz_encoding(input_data)
     
     self.src.set_data(qpsk_mod)
     # set up fg
     self.tb.run ()
     # check data
     res = self.snk.data()
     exp_res = tuple(input_data)#tuple([input_data[i]/math.sqrt(2) for i in range(len(input_data))])
     print self.assertFloatTuplesAlmostEqual(res, exp_res, 5)
    def test_002_data(self):
        cell_id = 124
        N_ant = 2
        tl = 1024
        data = []
        for i in range(tl/4):
            mib = lte_test.pack_mib(50,0,1.0, i*4)
            bch = tuple(lte_test.encode_bch(mib, N_ant))
            p_scrambled = lte_test.pbch_scrambling(bch, cell_id)
            p_scrambled = lte_test.nrz_encoding(p_scrambled)
            data.extend(p_scrambled)

        self.src.set_data(data)
        dbgs = blocks.file_sink(480 * gr.sizeof_float, "/home/johannes/tests/descramble.dat")
        self.tb.connect(self.src, dbgs)
        # set up fg
        self.tb.run ()
        pass
Example #8
0
    def test_002_data(self):
        cell_id = 124
        N_ant = 2
        tl = 1024
        data = []
        for i in range(tl / 4):
            mib = lte_test.pack_mib(50, 0, 1.0, i * 4)
            bch = tuple(lte_test.encode_bch(mib, N_ant))
            p_scrambled = lte_test.pbch_scrambling(bch, cell_id)
            p_scrambled = lte_test.nrz_encoding(p_scrambled)
            data.extend(p_scrambled)

        self.src.set_data(data)
        dbgs = blocks.file_sink(480 * gr.sizeof_float,
                                "/home/johannes/tests/descramble.dat")
        self.tb.connect(self.src, dbgs)
        # set up fg
        self.tb.run()
        pass
    def test_003_demapping (self):
        print "\ntest_003_demapping"
        N_ant = [1,2,4]
        cell_id = 124
        mib = lte_test.pack_mib(50,0,1.0, 511)
        bch = tuple(lte_test.encode_bch(mib, N_ant[0]))
        data = lte_test.pbch_scrambling(bch, cell_id)
        style = "tx_diversity"
        self.demapper.set_decoding_style(style)
        
        mapped = [[],[],[]]
        mapped[0] = lte_test.layer_mapping(data, 1 , style)
        m2 = lte_test.layer_mapping(data, 2 , style)
        m2a = []
        for i in range(len(m2[0])/120):
            m2a.extend(m2[0][120*i:(i+1)*120])
            m2a.extend(m2[1][120*i:(i+1)*120])
        mapped[1] = m2a
        
        m4 = lte_test.layer_mapping(data, 4, style)
        m4a = []
        for i in range(len(m4[0])/60):
            m4a.extend(m4[0][i*60:(i+1)*60])
            m4a.extend(m4[1][i*60:(i+1)*60])
            m4a.extend(m4[2][i*60:(i+1)*60])
            m4a.extend(m4[3][i*60:(i+1)*60])
        mapped[2] = m4a
               
        exp_res = [complex(data[i]) for i in range(len(data))]

        for i in range(3):
            self.demapper.set_N_ant(N_ant[i])
            print "N_ant = " +str(self.demapper.get_N_ant())
            self.src.set_data(mapped[i])
            self.snk.reset()
            self.tb.run()
            res = self.snk.data()
            try:
                self.assertComplexTuplesAlmostEqual(res, tuple(exp_res) )
            except:
                print "FAILED N_ant = " +str(self.demapper.get_N_ant())
                self.assertComplexTuplesAlmostEqual(res, tuple(exp_res) )
    def test_003_demapping(self):
        print "\ntest_003_demapping"
        N_ant = [1, 2, 4]
        cell_id = 124
        mib = lte_test.pack_mib(50, 0, 1.0, 511)
        bch = tuple(lte_test.encode_bch(mib, N_ant[0]))
        data = lte_test.pbch_scrambling(bch, cell_id)
        style = "tx_diversity"
        self.demapper.set_decoding_style(style)

        mapped = [[], [], []]
        mapped[0] = lte_test.layer_mapping(data, 1, style)[0]
        m2 = lte_test.layer_mapping(data, 2, style)
        m2a = []
        for i in range(len(m2[0]) / 120):
            m2a.extend(m2[0][120 * i:(i + 1) * 120])
            m2a.extend(m2[1][120 * i:(i + 1) * 120])
        mapped[1] = m2a

        m4 = lte_test.layer_mapping(data, 4, style)
        m4a = []
        for i in range(len(m4[0]) / 60):
            m4a.extend(m4[0][i * 60:(i + 1) * 60])
            m4a.extend(m4[1][i * 60:(i + 1) * 60])
            m4a.extend(m4[2][i * 60:(i + 1) * 60])
            m4a.extend(m4[3][i * 60:(i + 1) * 60])
        mapped[2] = m4a

        exp_res = [complex(data[i]) for i in range(len(data))]

        for i in range(3):
            self.demapper.set_N_ant(N_ant[i])
            print "N_ant = " + str(self.demapper.get_N_ant()), np.shape(mapped[i])
            self.src.set_data(mapped[i])
            self.snk.reset()
            self.tb.run()
            res = self.snk.data()
            try:
                self.assertComplexTuplesAlmostEqual(res, tuple(exp_res))
            except:
                print "FAILED N_ant = " + str(self.demapper.get_N_ant())
                self.assertComplexTuplesAlmostEqual(res, tuple(exp_res))
Example #11
0
    def test_001_generated(self):
        print "\ntest_001_generated"
        cell_id = 124
        N_ant = 2
        style = "tx_diversity"
        mib = lte_test.pack_mib(50, 0, 1.0, 511)
        bch = lte_test.encode_bch(mib, N_ant)

        scrambled = lte_test.pbch_scrambling(bch, cell_id)
        qpsk_modulated = lte_test.qpsk_modulation(scrambled)
        #print np.shape(qpsk_modulated)
        layer_mapped = lte_test.layer_mapping(qpsk_modulated, N_ant, style)
        pre_coded = lte_test.pre_coding(layer_mapped, N_ant, style)
        #print np.shape(pre_coded)

        h0 = [complex(1, 0)] * len(pre_coded[0])
        h1 = [complex(1, 0)] * len(pre_coded[1])
        stream = [
            pre_coded[0][i] + pre_coded[1][i] for i in range(len(pre_coded[0]))
        ]

        self.src1.set_data(stream)
        self.src2.set_data(h0)
        self.src3.set_data(h1)
        self.tb.run()
        res = self.snk.data()

        exp_res = []
        for i in range(len(stream) / 240):
            print i
            lay0 = layer_mapped[0][i * 120:(i + 1) * 120]
            lay1 = layer_mapped[1][i * 120:(i + 1) * 120]
            comb = [lay0, lay1]
            exp_res.extend(
                lte_test.prepare_for_demapper_block(comb, N_ant, style))

        print "test 001 final ASSERT!"
        print self.assertComplexTuplesAlmostEqual(res, exp_res)
Example #12
0
    def test_001_t(self):
        cell_id = 124
        N_ant = 2
        mib = lte_test.pack_mib(50, 0, 1.0, 511)
        bch = tuple(lte_test.encode_bch(mib, N_ant))
        p_scrambled = lte_test.pbch_scrambling(bch, cell_id)
        p_scrambled = lte_test.nrz_encoding(p_scrambled)
        n_bch = tuple(lte_test.nrz_encoding(bch))

        print len(p_scrambled)
        print p_scrambled[0:20]

        self.src.set_data(p_scrambled)  #[0:480])
        self.descr.set_cell_id(cell_id)

        #pn_seq = self.descr.pn_sequence()
        #print pn_seq[0:20]
        dbgs = blocks.file_sink(480 * gr.sizeof_float,
                                "/home/johannes/tests/descramble.dat")
        self.tb.connect(self.src, dbgs)
        # set up fg
        self.tb.run()
        res = self.snk.data()
        print len(res)

        count = 0
        for i in range(len(res) / len(n_bch)):
            part = res[len(n_bch) * i:(i + 1) * len(n_bch)]
            try:
                self.assertEqual(part, n_bch, 3)
                print str(i) + "\tSUCCESS"
            except:
                print str(i)
                count = count + 1
        print "\nresult"
        print count
        print len(res) / len(n_bch)
    def test_001_t(self):
        cell_id = 124
        N_ant = 2
        mib = lte_test.pack_mib(50,0,1.0, 511)
        bch = tuple(lte_test.encode_bch(mib, N_ant))
        p_scrambled = lte_test.pbch_scrambling(bch, cell_id)
        p_scrambled = lte_test.nrz_encoding(p_scrambled)
        n_bch = tuple(lte_test.nrz_encoding(bch))

        print len(p_scrambled)
        print p_scrambled[0:20]

        self.src.set_data(p_scrambled)#[0:480])
        self.descr.set_cell_id(cell_id)

        #pn_seq = self.descr.pn_sequence()
        #print pn_seq[0:20]
        dbgs = blocks.file_sink(480 * gr.sizeof_float, "/home/johannes/tests/descramble.dat")
        self.tb.connect(self.src, dbgs)
        # set up fg
        self.tb.run()
        res = self.snk.data()
        print len(res)

        count = 0
        for i in range(len(res)/len(n_bch)):
            part = res[len(n_bch)*i:(i+1)*len(n_bch)]
            try:
                self.assertEqual(part, n_bch,3)
                print str(i) + "\tSUCCESS"
            except:
                print str(i)
                count = count +1
        print "\nresult"
        print count
        print len(res)/len(n_bch)
    def test_001_t (self):
        cell_id = 124
        N_ant = 2
        tl = 1024
        data = []
        input_data = []
        for i in range(tl/4):
            mib = lte_test.pack_mib(50,0,1.0, i*4)
            bch = tuple(lte_test.encode_bch(mib, N_ant))
            p_scrambled = lte_test.pbch_scrambling(bch, cell_id)
            input_data.extend(lte_test.nrz_encoding(p_scrambled))
            mod = lte_test.qpsk_modulation(p_scrambled)
            data.extend(mod)

        self.src.set_data(data)

        dbgs = blocks.file_sink(240 * gr.sizeof_gr_complex, "/home/johannes/tests/demodulate.dat")
        self.tb.connect(self.src, dbgs)
        # set up fg
        self.tb.run ()
        # check data
        res = self.snk.data()
        exp_res = tuple(input_data)#tuple([input_data[i]/math.sqrt(2) for i in range(len(input_data))])
        print self.assertFloatTuplesAlmostEqual(res, exp_res, 5)
Example #15
0
    def test_001_t(self):
        cell_id = 124
        N_ant = 2
        tl = 1024
        data = []
        input_data = []
        for i in range(tl / 4):
            mib = lte_test.pack_mib(50, 0, 1.0, i * 4)
            bch = tuple(lte_test.encode_bch(mib, N_ant))
            p_scrambled = lte_test.pbch_scrambling(bch, cell_id)
            input_data.extend(lte_test.nrz_encoding(p_scrambled))
            mod = lte_test.qpsk_modulation(p_scrambled)
            data.extend(mod)

        self.src.set_data(data)

        # set up fg
        self.tb.run()
        # check data
        res = self.snk.data()
        exp_res = tuple(
            input_data
        )  #tuple([input_data[i]/math.sqrt(2) for i in range(len(input_data))])
        self.assertFloatTuplesAlmostEqual(res, exp_res, 5)