summaryrefslogtreecommitdiff
path: root/gr-blocks/python
diff options
context:
space:
mode:
Diffstat (limited to 'gr-blocks/python')
-rw-r--r--gr-blocks/python/blocks/qa_moving_average.py35
1 files changed, 32 insertions, 3 deletions
diff --git a/gr-blocks/python/blocks/qa_moving_average.py b/gr-blocks/python/blocks/qa_moving_average.py
index 7f9aa5777..4319b40b0 100644
--- a/gr-blocks/python/blocks/qa_moving_average.py
+++ b/gr-blocks/python/blocks/qa_moving_average.py
@@ -81,7 +81,7 @@ class test_moving_average(gr_unittest.TestCase):
# This tests implement own moving average to verify correct behaviour of the block
- def test_03(self):
+ def test_vector_int(self):
tb = self.tb
vlen = 5
@@ -111,7 +111,36 @@ class test_moving_average(gr_unittest.TestCase):
# make sure result is close to zero
self.assertTupleEqual(dut_data, ref_data)
- def test_04(self):
+ def test_vector_complex(self):
+ tb = self.tb
+
+ vlen = 5
+ N = 10*vlen
+ data = make_random_complex_tuple(N, 2**10)
+ src = blocks.vector_source_c(data, False)
+ one_to_many = blocks.stream_to_streams(gr.sizeof_gr_complex, vlen)
+ one_to_vector = blocks.stream_to_vector(gr.sizeof_gr_complex, vlen)
+ many_to_vector = blocks.streams_to_vector(gr.sizeof_gr_complex, vlen)
+ isolated = [ blocks.moving_average_cc(100, 1) for i in range(vlen)]
+ dut = blocks.moving_average_cc(100, 1, vlen=vlen)
+ dut_dst = blocks.vector_sink_c(vlen=vlen)
+ ref_dst = blocks.vector_sink_c(vlen=vlen)
+
+ tb.connect(src, one_to_many)
+ tb.connect(src, one_to_vector, dut, dut_dst)
+ tb.connect(many_to_vector, ref_dst)
+ for idx, single in enumerate(isolated):
+ tb.connect((one_to_many,idx), single, (many_to_vector,idx))
+
+ tb.run()
+
+ dut_data = dut_dst.data()
+ ref_data = ref_dst.data()
+
+ # make sure result is close to zero
+ self.assertTupleEqual(dut_data, ref_data)
+
+ def test_complex_scalar(self):
tb = self.tb
N = 10000 # number of samples
@@ -119,7 +148,7 @@ class test_moving_average(gr_unittest.TestCase):
data = make_random_complex_tuple(N, 1) # generate random data
# pythonic MA filter
- data_padded = (history-1)*[0.0+1j*0.0]+list(data) # history
+ data_padded = (history-1)*[complex(0.0, 0.0)]+list(data) # history
expected_result = []
moving_sum = sum(data_padded[:history-1])
for i in range(N):