diff options
author | Clayton Smith <argilo@gmail.com> | 2023-12-01 19:44:08 -0500 |
---|---|---|
committer | Jeff Long <willcode4@gmail.com> | 2023-12-06 06:34:59 -0500 |
commit | e1e51e71c69ca572c8ca6ef69fd409fab6702004 (patch) | |
tree | 0e39fcb2293ea288263911beb3a01a98b6e125bc | |
parent | Remove 'friend' from 'read_wavein' callback function (#6971) (diff) | |
download | gnuradio-e1e51e71c69ca572c8ca6ef69fd409fab6702004.tar.xz gnuradio-e1e51e71c69ca572c8ca6ef69fd409fab6702004.zip |
filter: Accept rounded output from fir_filter_fsf
Signed-off-by: Clayton Smith <argilo@gmail.com>
(cherry picked from commit c297a6207ba46a0b3cbc1769295f35c164b96660)
Signed-off-by: Jeff Long <willcode4@gmail.com>
-rw-r--r-- | gr-filter/python/filter/qa_fir_filter.py | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/gr-filter/python/filter/qa_fir_filter.py b/gr-filter/python/filter/qa_fir_filter.py index ae3db3c26..f562dd289 100644 --- a/gr-filter/python/filter/qa_fir_filter.py +++ b/gr-filter/python/filter/qa_fir_filter.py @@ -162,7 +162,7 @@ class test_filter(gr_unittest.TestCase): taps = 20 * [0.5, 0.5] src_data = 40 * [1, 2, 3, 4] expected_data = fir_filter(src_data, taps, decim) - expected_data = [int(e) for e in expected_data] + expected_data = [round(e) for e in expected_data] src = blocks.vector_source_f(src_data) op = filter.fir_filter_fsf(decim, taps) @@ -170,14 +170,20 @@ class test_filter(gr_unittest.TestCase): self.tb.connect(src, op, dst) self.tb.run() result_data = dst.data() - self.assertComplexTuplesAlmostEqual(expected_data, result_data, 5) + + # TODO: Remove fallback once GNU Radio's required VOLK_VERSION is >= 3.1.0 + try: + self.assertEqual(expected_data, result_data) + except AssertionError: + expected_data_distorted = [int(e) for e in fir_filter(src_data, taps, decim)] + self.assertEqual(expected_data_distorted, result_data) def test_fir_filter_fsf_002(self): decim = 4 taps = 20 * [0.5, 0.5] src_data = 40 * [1, 2, 3, 4] expected_data = fir_filter(src_data, taps, decim) - expected_data = [int(e) for e in expected_data] + expected_data = [round(e) for e in expected_data] src = blocks.vector_source_f(src_data) op = filter.fir_filter_fsf(decim, taps) @@ -185,7 +191,13 @@ class test_filter(gr_unittest.TestCase): self.tb.connect(src, op, dst) self.tb.run() result_data = dst.data() - self.assertComplexTuplesAlmostEqual(expected_data, result_data, 5) + + # TODO: Remove fallback once GNU Radio's required VOLK_VERSION is >= 3.1.0 + try: + self.assertEqual(expected_data, result_data) + except AssertionError: + expected_data_distorted = [int(e) for e in fir_filter(src_data, taps, decim)] + self.assertEqual(expected_data_distorted, result_data) if __name__ == '__main__': |