summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorClayton Smith <argilo@gmail.com>2023-12-01 19:44:08 -0500
committerJeff Long <willcode4@gmail.com>2023-12-06 06:34:59 -0500
commite1e51e71c69ca572c8ca6ef69fd409fab6702004 (patch)
tree0e39fcb2293ea288263911beb3a01a98b6e125bc
parentRemove 'friend' from 'read_wavein' callback function (#6971) (diff)
downloadgnuradio-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.py20
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__':