summaryrefslogtreecommitdiff
path: root/gr-digital/python
diff options
context:
space:
mode:
authorSean Nowlan <nowlans@ieee.org>2017-01-26 16:56:05 -0500
committerSean Nowlan <nowlans@ieee.org>2017-01-26 16:56:05 -0500
commit4b92a2d4bedce2850807af2f1afea8678f77bc07 (patch)
tree8ec65992827cc8d7c5a904a16599d1e04a2df39e /gr-digital/python
parenta6323e35d0caa7fb4403aa86b222dee8919da133 (diff)
digital: add correlate access code tagging block with soft inputs
Diffstat (limited to 'gr-digital/python')
-rwxr-xr-xgr-digital/python/digital/qa_correlate_access_code.py18
-rwxr-xr-xgr-digital/python/digital/qa_correlate_access_code_tag.py36
2 files changed, 51 insertions, 3 deletions
diff --git a/gr-digital/python/digital/qa_correlate_access_code.py b/gr-digital/python/digital/qa_correlate_access_code.py
index d89b457117..355843a085 100755
--- a/gr-digital/python/digital/qa_correlate_access_code.py
+++ b/gr-digital/python/digital/qa_correlate_access_code.py
@@ -91,6 +91,24 @@ class test_correlate_access_code(gr_unittest.TestCase):
result_data = dst.data()
self.assertEqual(expected_result, result_data)
+ def test_004(self):
+ code = tuple(string_to_1_0_list(default_access_code))
+ access_code = to_1_0_string(code)
+ pad = (0,) * 64
+ #print code
+ #print access_code
+ src_bits = code + (1, 0, 1, 1) + pad
+ src_data = [2.0*x - 1.0 for x in src_bits]
+ expected_result_bits = code + (1, 0, 1, 1) + pad
+ expected_result = [2.0*x - 1.0 for x in expected_result_bits]
+ src = blocks.vector_source_f(src_data)
+ op = digital.correlate_access_code_tag_ff(access_code, 0, "test")
+ dst = blocks.vector_sink_f()
+ self.tb.connect(src, op, dst)
+ self.tb.run()
+ result_data = dst.data()
+ self.assertFloatTuplesAlmostEqual(expected_result, result_data, 5)
+
if __name__ == '__main__':
gr_unittest.run(test_correlate_access_code, "test_correlate_access_code.xml")
diff --git a/gr-digital/python/digital/qa_correlate_access_code_tag.py b/gr-digital/python/digital/qa_correlate_access_code_tag.py
index f2663e4ecc..7266169df0 100755
--- a/gr-digital/python/digital/qa_correlate_access_code_tag.py
+++ b/gr-digital/python/digital/qa_correlate_access_code_tag.py
@@ -50,7 +50,7 @@ class test_correlate_access_code(gr_unittest.TestCase):
src_data = (1, 0, 1, 1, 1, 1, 0, 1, 1) + pad + (0,) * 7
src = blocks.vector_source_b(src_data)
op = digital.correlate_access_code_tag_bb("1011", 0, "sync")
- dst = blocks.tag_debug(1, "sync")
+ dst = blocks.tag_debug(gr.sizeof_char, "sync")
self.tb.connect(src, op, dst)
self.tb.run()
result_data = dst.current_tags()
@@ -65,10 +65,40 @@ class test_correlate_access_code(gr_unittest.TestCase):
#print code
#print access_code
src_data = code + (1, 0, 1, 1) + pad
- expected_result = pad + code + (3, 0, 1, 1)
src = blocks.vector_source_b(src_data)
op = digital.correlate_access_code_tag_bb(access_code, 0, "sync")
- dst = blocks.tag_debug(1, "sync")
+ dst = blocks.tag_debug(gr.sizeof_char, "sync")
+ self.tb.connect(src, op, dst)
+ self.tb.run()
+ result_data = dst.current_tags()
+ self.assertEqual(len(result_data), 1)
+ self.assertEqual(result_data[0].offset, len(code))
+
+ def test_003(self):
+ pad = (0,) * 64
+ src_bits = (1, 0, 1, 1, 1, 1, 0, 1, 1) + pad + (0,) * 7
+ src_data = [2.0*x - 1.0 for x in src_bits]
+ src = blocks.vector_source_f(src_data)
+ op = digital.correlate_access_code_tag_ff("1011", 0, "sync")
+ dst = blocks.tag_debug(gr.sizeof_float, "sync")
+ self.tb.connect(src, op, dst)
+ self.tb.run()
+ result_data = dst.current_tags()
+ self.assertEqual(len(result_data), 2)
+ self.assertEqual(result_data[0].offset, 4)
+ self.assertEqual(result_data[1].offset, 9)
+
+ def test_004(self):
+ code = tuple(string_to_1_0_list(default_access_code))
+ access_code = to_1_0_string(code)
+ pad = (0,) * 64
+ #print code
+ #print access_code
+ src_bits = code + (1, 0, 1, 1) + pad
+ src_data = [2.0*x - 1.0 for x in src_bits]
+ src = blocks.vector_source_f(src_data)
+ op = digital.correlate_access_code_tag_ff(access_code, 0, "sync")
+ dst = blocks.tag_debug(gr.sizeof_float, "sync")
self.tb.connect(src, op, dst)
self.tb.run()
result_data = dst.current_tags()