X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=gnuradio-core%2Fsrc%2Fpython%2Fgnuradio%2Fgr%2Fqa_iir.py;h=833285077aa5eb04757705f1e90f494d54d35ae5;hb=ea29b08aeb54227e6628f655ccfdb96fe4d8c378;hp=2131d8c731ed0f3883b0ee040ff725a5bb4389b4;hpb=09a1e803a9e6587c78d20cdf16891e5295874668;p=debian%2Fgnuradio diff --git a/gnuradio-core/src/python/gnuradio/gr/qa_iir.py b/gnuradio-core/src/python/gnuradio/gr/qa_iir.py index 2131d8c7..83328507 100755 --- a/gnuradio-core/src/python/gnuradio/gr/qa_iir.py +++ b/gnuradio-core/src/python/gnuradio/gr/qa_iir.py @@ -1,6 +1,6 @@ #!/usr/bin/env python # -# Copyright 2004 Free Software Foundation, Inc. +# Copyright 2004,2007 Free Software Foundation, Inc. # # This file is part of GNU Radio # @@ -25,10 +25,10 @@ from gnuradio import gr, gr_unittest class test_iir (gr_unittest.TestCase): def setUp (self): - self.fg = gr.flow_graph () + self.tb = gr.top_block () def tearDown (self): - self.fg = None + self.tb = None def test_iir_direct_001 (self): src_data = (1, 2, 3, 4, 5, 6, 7, 8) @@ -38,9 +38,9 @@ class test_iir (gr_unittest.TestCase): src = gr.vector_source_f (src_data) op = gr.iir_filter_ffd (fftaps, fbtaps) dst = gr.vector_sink_f () - self.fg.connect (src, op) - self.fg.connect (op, dst) - self.fg.run () + self.tb.connect (src, op) + self.tb.connect (op, dst) + self.tb.run () result_data = dst.data () self.assertFloatTuplesAlmostEqual (expected_result, result_data) @@ -52,9 +52,9 @@ class test_iir (gr_unittest.TestCase): src = gr.vector_source_f (src_data) op = gr.iir_filter_ffd (fftaps, fbtaps) dst = gr.vector_sink_f () - self.fg.connect (src, op) - self.fg.connect (op, dst) - self.fg.run () + self.tb.connect (src, op) + self.tb.connect (op, dst) + self.tb.run () result_data = dst.data () self.assertFloatTuplesAlmostEqual (expected_result, result_data) @@ -66,9 +66,9 @@ class test_iir (gr_unittest.TestCase): src = gr.vector_source_f (src_data) op = gr.iir_filter_ffd (fftaps, fbtaps) dst = gr.vector_sink_f () - self.fg.connect (src, op) - self.fg.connect (op, dst) - self.fg.run () + self.tb.connect (src, op) + self.tb.connect (op, dst) + self.tb.run () result_data = dst.data () self.assertFloatTuplesAlmostEqual (expected_result, result_data) @@ -80,9 +80,9 @@ class test_iir (gr_unittest.TestCase): src = gr.vector_source_f (src_data) op = gr.iir_filter_ffd (fftaps, fbtaps) dst = gr.vector_sink_f () - self.fg.connect (src, op) - self.fg.connect (op, dst) - self.fg.run () + self.tb.connect (src, op) + self.tb.connect (op, dst) + self.tb.run () result_data = dst.data () self.assertFloatTuplesAlmostEqual (expected_result, result_data) @@ -94,18 +94,13 @@ class test_iir (gr_unittest.TestCase): src = gr.vector_source_f (src_data) op = gr.iir_filter_ffd (fftaps, fbtaps) dst = gr.vector_sink_f () - self.fg.connect (src, op) - self.fg.connect (op, dst) - self.fg.run () + self.tb.connect (src, op) + self.tb.connect (op, dst) + self.tb.run () result_data = dst.data () self.assertFloatTuplesAlmostEqual (expected_result, result_data) def test_iir_direct_006 (self): - fftaps = (2, 11, 0) - fbtaps = (0, -1) - self.assertRaises ((RuntimeError, ValueError), gr.iir_filter_ffd, fftaps, fbtaps) - - def test_iir_direct_007 (self): src_data = (1, 2, 3, 4, 5, 6, 7, 8) expected_result = (2, 13, 21, 59, 58, 186, 68, 583) fftaps = (2, 1) @@ -116,19 +111,48 @@ class test_iir (gr_unittest.TestCase): fbtaps = (0, -1, 3) op.set_taps (fftaps, fbtaps) dst = gr.vector_sink_f () - self.fg.connect (src, op) - self.fg.connect (op, dst) - self.fg.run () + self.tb.connect (src, op) + self.tb.connect (op, dst) + self.tb.run () result_data = dst.data () self.assertFloatTuplesAlmostEqual (expected_result, result_data) - def test_iir_direct_008 (self): + def test_iir_direct_007 (self): + src_data = (1, 2, 3, 4, 5, 6, 7, 8) + expected_result = (2,2,5,5,8,8,11,11) fftaps = (2, 1) fbtaps = (0, -1) + src = gr.vector_source_f (src_data) op = gr.iir_filter_ffd (fftaps, fbtaps) - fftaps = (2, 11) - fbtaps = (0, -1, 3) - self.assertRaises ((RuntimeError, ValueError), op.set_taps, fftaps, fbtaps) + fftaps = (2,0,1) + fbtaps = (0, -1) + op.set_taps (fftaps, fbtaps) + dst = gr.vector_sink_f () + self.tb.connect (src, op) + self.tb.connect (op, dst) + self.tb.run () + result_data = dst.data () + self.assertFloatTuplesAlmostEqual (expected_result, result_data) + + def test_iir_direct_008 (self): + src_data = (1, 2, 3, 4, 5, 6, 7, 8) + expected_result = (2,4,4,10,18,14,26,56) + fftaps = (2,) + fbtaps = (0, 1) + src = gr.vector_source_f (src_data) + op = gr.iir_filter_ffd (fftaps, fbtaps) + fftaps_data = (1) + fbtaps = (0,0, -1,3) + op.set_taps (fftaps, fbtaps) + dst = gr.vector_sink_f () + self.tb.connect (src, op) + self.tb.connect (op, dst) + self.tb.run () + result_data = dst.data () + self.assertFloatTuplesAlmostEqual (expected_result, result_data) + + + if __name__ == '__main__': gr_unittest.main ()