diff options
author | Johnathan Corgan <johnathan@corganlabs.com> | 2017-10-05 15:16:42 -0700 |
---|---|---|
committer | Johnathan Corgan <johnathan@corganlabs.com> | 2017-10-05 15:16:42 -0700 |
commit | bc9da7e07255b9d2af2f66a1a25fc35ce62a4c85 (patch) | |
tree | ba42d022abb76fa32028ae6acb176cdb78cbdfde /gr-blocks/python | |
parent | 5a99d225cb5422b165c1af7cea484a3ad43a82a4 (diff) | |
parent | e9bca98bf6949b710f293a6874dba6f58c979cfb (diff) |
Merge remote-tracking branch 'github/pr/1462'
Conflicts:
gr-blocks/python/blocks/qa_moving_average.py
Diffstat (limited to 'gr-blocks/python')
-rw-r--r-- | gr-blocks/python/blocks/qa_moving_average.py | 47 |
1 files changed, 24 insertions, 23 deletions
diff --git a/gr-blocks/python/blocks/qa_moving_average.py b/gr-blocks/python/blocks/qa_moving_average.py index 53b240fe7f..b76f81392d 100644 --- a/gr-blocks/python/blocks/qa_moving_average.py +++ b/gr-blocks/python/blocks/qa_moving_average.py @@ -1,6 +1,6 @@ #!/usr/bin/env python # -# Copyright 2013 Free Software Foundation, Inc. +# Copyright 2013,2017 Free Software Foundation, Inc. # # This file is part of GNU Radio # @@ -96,31 +96,33 @@ class test_moving_average(gr_unittest.TestCase): def test_03(self): tb = self.tb - N = 10000 # number of samples - history = 100 # num of samples to average - data = make_random_float_tuple(N, 1) # generate random data - - # pythonic MA filter - data_padded = (history-1)*[0.0]+list(data) # history - expected_result = [] - moving_sum = sum(data_padded[:history-1]) - for i in range(N): - moving_sum += data_padded[i+history-1] - expected_result.append(moving_sum) - moving_sum -= data_padded[i] + vlen = 5 + N = 10*vlen + seed = 0 + data = make_random_float_tuple(N, 2**10) + data = [int(d*1000) for d in data] + src = blocks.vector_source_i(data, False) + one_to_many = blocks.stream_to_streams(gr.sizeof_int, vlen) + one_to_vector = blocks.stream_to_vector(gr.sizeof_int, vlen) + many_to_vector = blocks.streams_to_vector(gr.sizeof_int, vlen) + isolated = [ blocks.moving_average_ii(100, 1) for i in range(vlen)] + dut = blocks.moving_average_ii(100, 1, vlen=vlen) + dut_dst = blocks.vector_sink_i(vlen=vlen) + ref_dst = blocks.vector_sink_i(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)) - src = blocks.vector_source_f(data, False) - op = blocks.moving_average_ff(history, 1) - dst = blocks.vector_sink_f() - - tb.connect(src, op) - tb.connect(op, dst) tb.run() - - dst_data = dst.data() + + dut_data = dut_dst.data() + ref_data = ref_dst.data() # make sure result is close to zero - self.assertFloatTuplesAlmostEqual(expected_result, dst_data, 4) + self.assertTupleEqual(dut_data, ref_data) def test_04(self): tb = self.tb @@ -151,6 +153,5 @@ class test_moving_average(gr_unittest.TestCase): # make sure result is close to zero self.assertComplexTuplesAlmostEqual(expected_result, dst_data, 4) - if __name__ == '__main__': gr_unittest.run(test_moving_average, "test_moving_average.xml") |