def setUp(self): self.tb = gr.top_block() self.tag_key = "subframe" msg_buf_name = "sequences" reg_len = 8 # 4 REGs complex QPSK modulated, thus 8 float values self.cce_len = cce_len = 9 * reg_len data = [0] * cce_len self.src = blocks.vector_source_f(data, False, cce_len) self.descr = lte.descrambler_vfvf(self.tag_key, msg_buf_name, cce_len) self.snk = blocks.vector_sink_f(cce_len) self.tb.connect(self.src, self.descr, self.snk)
def setUp(self): self.tb = gr.top_block() self.tag_key = "subframe" msg_buf_name = "sequences" reg_len = 8 # 4 REGs complex QPSK modulated, thus 8 float values self.cce_len = cce_len = 9*reg_len data = [0] * cce_len self.src = blocks.vector_source_f(data, False, cce_len) self.descr = lte.descrambler_vfvf(self.tag_key, msg_buf_name, cce_len) self.snk = blocks.vector_sink_f(cce_len) self.tb.connect(self.src, self.descr, self.snk)
def test_002_pcfich(self): print "pcfich test" cfi = 2 cell_id = 387 vlen = 32 # Generate descrambling sequences. seqs = [] for ns in range(10): #scr = lte_test.scramble_cfi_sequence([0] * 32, cell_id, ns) scr = lte_test.get_pcfich_scrambling_sequence(cell_id, ns) seqs.append(lte_test.nrz_encoding(scr)) # Generate a CFI sequence cfi_seq = lte_test.get_cfi_sequence(cfi) nrz_cfi_seq = lte_test.nrz_encoding(cfi_seq) # Generate scrambled sequences nvecs = 100 scr_cfi_seqs = [] expres = [] for ns in range(nvecs): scr_cfi_seqs.extend( lte_test.nrz_encoding( lte_test.scramble_cfi_sequence(cfi_seq, cell_id, ns % 10))) expres.extend(nrz_cfi_seq) # Get tags tags = lte_test.get_tag_list(nvecs, 10, self.tag_key, "test_src") # Get blocks for test flowgraph src = blocks.vector_source_f(scr_cfi_seqs, False, vlen) src.set_data(scr_cfi_seqs, tags) descr = lte.descrambler_vfvf(self.tag_key, "cfi_seqs", vlen) descr.set_descr_seqs(seqs) snk = blocks.vector_sink_f(vlen) # Create, connect, run fg tb = gr.top_block() tb.connect(src, descr, snk) tb.run() # Get result res = snk.data() # Check results! self.assertFloatTuplesAlmostEqual(res, expres)
def test_002_pcfich(self): print "pcfich test" cfi = 2 cell_id = 387 vlen =32 # Generate descrambling sequences. seqs = [] for ns in range(10): #scr = lte_test.scramble_cfi_sequence([0] * 32, cell_id, ns) scr = lte_test.get_pcfich_scrambling_sequence(cell_id, ns) seqs.append(lte_test.nrz_encoding(scr)) # Generate a CFI sequence cfi_seq = lte_test.get_cfi_sequence(cfi) nrz_cfi_seq = lte_test.nrz_encoding(cfi_seq) # Generate scrambled sequences nvecs = 100 scr_cfi_seqs = [] expres = [] for ns in range(nvecs): scr_cfi_seqs.extend(lte_test.nrz_encoding(lte_test.scramble_cfi_sequence(cfi_seq, cell_id, ns%10))) expres.extend(nrz_cfi_seq) # Get tags tags = lte_test.get_tag_list(nvecs, 10, self.tag_key, "test_src") # Get blocks for test flowgraph src = blocks.vector_source_f(scr_cfi_seqs, False, vlen) src.set_data(scr_cfi_seqs, tags) descr = lte.descrambler_vfvf(self.tag_key, "cfi_seqs", vlen) descr.set_descr_seqs(seqs) snk = blocks.vector_sink_f(vlen) # Create, connect, run fg tb = gr.top_block() tb.connect(src, descr, snk) tb.run() # Get result res = snk.data() # Check results! self.assertFloatTuplesAlmostEqual(res, expres)