def test_002_t(self):
        print "test_002_t BEGIN"
        N_rb_dl = self.N_rb_dl
        subcarriers = self.subcarriers
        N_ofdm_symbols = self.N_ofdm_symbols
        tag_key = self.tag_key
        msg_buf_name = self.msg_buf_name
        cell_id = 124
        Ncp = 1
        N_ant = 2
        style = "tx_diversity"
        sfn = 0
        srcid = "source"

        print "get and set data"
        stream = self.get_data_stream(N_ant, cell_id, style, N_rb_dl, sfn,
                                      subcarriers)
        data_len = len(stream) / subcarriers
        tag_list = lte_test.get_tag_list(data_len, N_ofdm_symbols, tag_key,
                                         srcid)
        self.src.set_data(stream, tag_list)

        print "get and set pilot map"
        [rs_pos_frame, rs_val_frame
         ] = lte_test.frame_pilot_value_and_position(N_rb_dl, cell_id, Ncp, 0)
        self.estimator.set_pilot_map(rs_pos_frame, rs_val_frame)
        print "pilot Map set"
        self.tb.run()
        # check data
        #print pmt.pmt_symbol_to_string(tag_list[0].key)
        expected = np.ones((subcarriers, ), dtype=np.complex)
        res = self.snk.data()

        failed = 0
        first_failed = -1
        for i in range(len(res) / subcarriers):
            #print i
            vec = res[i * subcarriers:(i + 1) * subcarriers]
            try:
                self.assertComplexTuplesAlmostEqual(vec, expected, 5)
                #print "success"
            except:
                print str(i) + "\tfail"
                print vec[0:20]
                first_failed = i
                #print vec
                failed = failed + 1
        print "failed vectors: " + str(failed)

        if first_failed > -1:
            i = first_failed
            vec = res[i * subcarriers:(i + 1) * subcarriers]
            self.assertComplexTuplesAlmostEqual(vec, expected, 5)

        print "test_002_t END\n\n"
 def test_001_set_pilot_map(self):
     print "test_001_set_pilot_map BEGIN"
     N_rb_dl = self.N_rb_dl
     cell_id = 124
     Ncp = 1
     [rs_pos_frame, rs_val_frame] = lte_test.frame_pilot_value_and_position(N_rb_dl, cell_id, Ncp, 0)
     self.estimator.set_pilot_map(rs_pos_frame, rs_val_frame)
     res_carriers = self.estimator.get_pilot_carriers()
     for i in range(len(res_carriers)):
         self.assertEqual(res_carriers[i], tuple(rs_pos_frame[i]) )
     print "test_001_set_pilot_map END"
 def test_001_set_pilot_map(self):
     print "test_001_set_pilot_map BEGIN"
     N_rb_dl = self.N_rb_dl
     cell_id = 124
     Ncp = 1
     [rs_pos_frame, rs_val_frame
      ] = lte_test.frame_pilot_value_and_position(N_rb_dl, cell_id, Ncp, 0)
     self.estimator.set_pilot_map(rs_pos_frame, rs_val_frame)
     res_carriers = self.estimator.get_pilot_carriers()
     for i in range(len(res_carriers)):
         self.assertEqual(res_carriers[i], tuple(rs_pos_frame[i]))
     print "test_001_set_pilot_map END"
    def test_002_t (self):
        print "test_002_t BEGIN"
        N_rb_dl = self.N_rb_dl
        subcarriers = self.subcarriers
        N_ofdm_symbols = self.N_ofdm_symbols
        tag_key = self.tag_key
        msg_buf_name = self.msg_buf_name
        cell_id = 124
        Ncp = 1
        N_ant = 2
        style= "tx_diversity"
        sfn = 0
        srcid = "source"

        print "get and set data"
        stream = self.get_data_stream(N_ant, cell_id, style, N_rb_dl, sfn, subcarriers)
        data_len = len(stream)/subcarriers
        tag_list = lte_test.get_tag_list(data_len, N_ofdm_symbols, tag_key, srcid)
        self.src.set_data(stream, tag_list)

        print "get and set pilot map"
        [rs_pos_frame, rs_val_frame] = lte_test.frame_pilot_value_and_position(N_rb_dl, cell_id, Ncp, 0)
        self.estimator.set_pilot_map(rs_pos_frame, rs_val_frame)
        print "pilot Map set"
        self.tb.run ()
        # check data
        #print pmt.pmt_symbol_to_string(tag_list[0].key)
        expected = np.ones((subcarriers,), dtype=np.complex)
        res = self.snk.data()

        failed = 0
        first_failed = -1
        for i in range(len(res)/subcarriers):
            #print i
            vec = res[i*subcarriers:(i+1)*subcarriers]
            try:
                self.assertComplexTuplesAlmostEqual(vec, expected, 5)
                #print "success"
            except:
                print str(i) +  "\tfail"
                print vec[0:20]
                first_failed = i
                #print vec
                failed = failed +1
        print "failed vectors: " + str(failed)

        if first_failed > -1:
            i = first_failed
            vec = res[i*subcarriers:(i+1)*subcarriers]
            self.assertComplexTuplesAlmostEqual(vec, expected, 5)

        print "test_002_t END\n\n"