diff options
author | eb | 2007-03-02 01:50:03 +0000 |
---|---|---|
committer | eb | 2007-03-02 01:50:03 +0000 |
commit | 005d44e0e9281152bde0923e3239772d67e4e730 (patch) | |
tree | e45f5d00ba3a6165debf13eefb9207a8efa99515 /gnuradio-core/src/python | |
parent | 95945638f5d97469ac0a396aeaeb619e6ca1f308 (diff) | |
download | gnuradio-005d44e0e9281152bde0923e3239772d67e4e730.tar.gz gnuradio-005d44e0e9281152bde0923e3239772d67e4e730.tar.bz2 gnuradio-005d44e0e9281152bde0923e3239772d67e4e730.zip |
Applied patch from Josh Blum that adds SQUARE, TRIANGLE and SAWTOOTH
waveforms to gr_sig_source*
git-svn-id: http://gnuradio.org/svn/gnuradio/trunk@4679 221aa14e-8319-0410-a670-987f0aec2ac5
Diffstat (limited to 'gnuradio-core/src/python')
-rwxr-xr-x | gnuradio-core/src/python/gnuradio/gr/qa_sig_source.py | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/gnuradio-core/src/python/gnuradio/gr/qa_sig_source.py b/gnuradio-core/src/python/gnuradio/gr/qa_sig_source.py index b985fe02c..7050b20de 100755 --- a/gnuradio-core/src/python/gnuradio/gr/qa_sig_source.py +++ b/gnuradio-core/src/python/gnuradio/gr/qa_sig_source.py @@ -80,6 +80,78 @@ class test_sig_source (gr_unittest.TestCase): fg.run () dst_data = dst1.data () self.assertFloatTuplesAlmostEqual (expected_result, dst_data, 5) + + def test_sqr_c (self): + fg = self.fg #arg6 is a bit before -PI/2 + expected_result = (1j, 1j, 0, 0, 1, 1, 1+0j, 1+1j, 1j) + src1 = gr.sig_source_c (8, gr.GR_SQR_WAVE, 1.0, 1.0) + op = gr.head (gr.sizeof_gr_complex, 9) + dst1 = gr.vector_sink_c () + fg.connect (src1, op) + fg.connect (op, dst1) + fg.run () + dst_data = dst1.data () + self.assertEqual (expected_result, dst_data) + + def test_tri_c (self): + fg = self.fg + expected_result = (1+.5j, .75+.75j, .5+1j, .25+.75j, 0+.5j, .25+.25j, .5+0j, .75+.25j, 1+.5j) + src1 = gr.sig_source_c (8, gr.GR_TRI_WAVE, 1.0, 1.0) + op = gr.head (gr.sizeof_gr_complex, 9) + dst1 = gr.vector_sink_c () + fg.connect (src1, op) + fg.connect (op, dst1) + fg.run () + dst_data = dst1.data () + self.assertComplexTuplesAlmostEqual (expected_result, dst_data, 5) + + def test_saw_c (self): + fg = self.fg + expected_result = (.5+.25j, .625+.375j, .75+.5j, .875+.625j, 0+.75j, .125+.875j, .25+1j, .375+.125j, .5+.25j) + src1 = gr.sig_source_c (8, gr.GR_SAW_WAVE, 1.0, 1.0) + op = gr.head (gr.sizeof_gr_complex, 9) + dst1 = gr.vector_sink_c () + fg.connect (src1, op) + fg.connect (op, dst1) + fg.run () + dst_data = dst1.data () + self.assertComplexTuplesAlmostEqual (expected_result, dst_data, 5) + + def test_sqr_f (self): + fg = self.fg + expected_result = (0, 0, 0, 0, 1, 1, 1, 1, 0) + src1 = gr.sig_source_f (8, gr.GR_SQR_WAVE, 1.0, 1.0) + op = gr.head (gr.sizeof_float, 9) + dst1 = gr.vector_sink_f () + fg.connect (src1, op) + fg.connect (op, dst1) + fg.run () + dst_data = dst1.data () + self.assertEqual (expected_result, dst_data) + + def test_tri_f (self): + fg = self.fg + expected_result = (1, .75, .5, .25, 0, .25, .5, .75, 1) + src1 = gr.sig_source_f (8, gr.GR_TRI_WAVE, 1.0, 1.0) + op = gr.head (gr.sizeof_float, 9) + dst1 = gr.vector_sink_f () + fg.connect (src1, op) + fg.connect (op, dst1) + fg.run () + dst_data = dst1.data () + self.assertFloatTuplesAlmostEqual (expected_result, dst_data, 5) + + def test_saw_f (self): + fg = self.fg + expected_result = (.5, .625, .75, .875, 0, .125, .25, .375, .5) + src1 = gr.sig_source_f (8, gr.GR_SAW_WAVE, 1.0, 1.0) + op = gr.head (gr.sizeof_float, 9) + dst1 = gr.vector_sink_f () + fg.connect (src1, op) + fg.connect (op, dst1) + fg.run () + dst_data = dst1.data () + self.assertFloatTuplesAlmostEqual (expected_result, dst_data, 5) if __name__ == '__main__': gr_unittest.main () |