def test_fir_filter_scc_001(self):
     self.generate_scc_source()
     expected_data = ((-0.00775564694777+0.0437113791704j),
                      (0.0108830630779+0.0433648750186j),
                      (0.015553932637-0.0133284125477j),
                      (-0.0264905355871-0.0403266139328j),
                      (-0.0243480335921-0.03030154109j),
                      (-0.000327925226884-0.069333948195j),
                      (-0.0306392069906-0.107313856483j),
                      (-0.0452371090651-0.0854917764664j),
                      (-0.0108894333243-0.0875641107559j),
                      (-0.0182112380862-0.118961036205j),
                      (-0.0447825863957-0.0922874584794j),
                      (-0.0147479763255-0.0572904124856j),
                      (0.00204290449619-0.0721436738968j),
                      (-0.027713002637-0.0548989400268j),
                      (-0.0149045493454-0.00210141134448j),
                      (0.0176361314952-0.00149522523861j),
                      (-0.00527482619509-0.00698099425063j),
                      (-0.0151527002454+0.036265052855j),
                      (0.0199296213686+0.0452499426901j),
                      (0.0122985243797+0.0143278446048j))
     src = blocks.vector_source_s(self.src_data)
     op  = filter.freq_xlating_fir_filter_scc(1, self.taps, self.fc, self.fs)
     dst = blocks.vector_sink_c()
     self.tb.connect(src, op, dst)
     self.tb.run()
     result_data = dst.data()
     self.assertComplexTuplesAlmostEqual(expected_data, result_data[-20:], 5)
 def test_fir_filter_scf_002(self):
     self.generate_scf_source()
     expected_data = ((0.00824625696987-1.50158575707e-05j),
                      (0.0020101047121-0.0116540221497j),
                      (-0.0126378880814-0.00259830290452j),
                      (-0.00363933457993+0.00837504956871j),
                      (0.00107023562305+0.00915473792702j),
                      (0.0169738996774+0.00422182958573j),
                      (0.00630031805485-0.025423232466j),
                      (-0.0283014029264+0.00104465708137j),
                      (0.00890890974551+0.0115978596732j),
                      (-0.0142687577754+0.00306978379376j),
                      (0.02845691517+0.0331163145602j),
                      (0.0538152232766-0.0908300876617j),
                      (-0.0843691527843-0.0956566259265j),
                      (0.0476895272732+0.0747984498739j),
                      (0.0898786485195+0.082478672266j),
                      (-0.0330070182681+0.101965606213j),
                      (0.0574697069824-0.0350842289627j),
                      (-0.0770940706134-0.230615705252j),
                      (-0.103762261569-0.0382265634835j),
                      (0.11808334291+0.104863762856j))
     src = blocks.vector_source_s(self.src_data)
     op  = filter.freq_xlating_fir_filter_scf(4, self.taps, self.fc, self.fs)
     dst = blocks.vector_sink_c()
     self.tb.connect(src, op, dst)
     self.tb.run()
     result_data = dst.data()
     self.assertComplexTuplesAlmostEqual(expected_data, result_data[-20:], 5)
 def test_fir_filter_scc_002(self):
     self.generate_scc_source()
     expected_data = ((-0.0080680437386-0.00158522999845j),
                      (-0.0037795654498+0.00733159901574j),
                      (0.00842926371843+0.00777021236718j),
                      (0.0112090632319-0.00249325321056j),
                      (-0.0027476802934-0.0115710813552j),
                      (-0.0158688724041-0.00715934624895j),
                      (-0.00802888441831+0.00620818417519j),
                      (0.0131985172629+0.0149175003171j),
                      (0.0190298333764+0.00956719089299j),
                      (-0.00112380902283-0.00936658866704j),
                      (-0.0204226914793-0.0333464704454j),
                      (-0.00695514678955-0.0437445007265j),
                      (0.0314490310848-0.0207983348519j),
                      (0.0529675260186+0.0302227605134j),
                      (0.0317338332534+0.0667510479689j),
                      (-0.00775565672666+0.0437112376094j),
                      (-0.024347923696-0.0303014591336j),
                      (-0.0108893103898-0.0875638127327j),
                      (0.00204296782613-0.0721434056759j),
                      (-0.00527479872108-0.00698097236454j))
     src = blocks.vector_source_s(self.src_data)
     op  = filter.freq_xlating_fir_filter_scc(4, self.taps, self.fc, self.fs)
     dst = blocks.vector_sink_c()
     self.tb.connect(src, op, dst)
     self.tb.run()
     result_data = dst.data()
     self.assertComplexTuplesAlmostEqual(expected_data, result_data[-20:], 5)
 def test_fir_filter_scf_001(self):
     self.generate_scf_source()
     expected_data = ((-0.0330070219934+0.101965591311j),
                      (-0.0484239049256+0.0872343629599j),
                      (-0.0214109234512+0.102555386722j),
                      (0.0484058149159+0.0557125210762j),
                      (0.0574690811336-0.0350844524801j),
                      (0.0365394353867-0.0802438184619j),
                      (0.0453781634569-0.130992040038j),
                      (0.00801951438189-0.214278846979j),
                      (-0.0770946145058-0.230616629124j),
                      (-0.105601429939-0.190731987357j),
                      (-0.105361394584-0.177761554718j),
                      (-0.131518915296-0.136102750897j),
                      (-0.103761836886-0.0382263250649j),
                      (-0.0167790111154+0.0152206514031j),
                      (0.0277570039034+0.0300403907895j),
                      (0.056065287441+0.0806603953242j),
                      (0.118084669113+0.104863211513j),
                      (0.128281414509+0.0677760615945j),
                      (0.0748447552323+0.0619902014732j),
                      (0.0512856245041+0.0775099247694j))
     src = blocks.vector_source_s(self.src_data)
     op  = filter.freq_xlating_fir_filter_scf(1, self.taps, self.fc, self.fs)
     dst = blocks.vector_sink_c()
     self.tb.connect(src, op, dst)
     self.tb.run()
     result_data = dst.data()
     self.assertComplexTuplesAlmostEqual(expected_data, result_data[-20:], 5)
Ejemplo n.º 5
0
    def test_001(self):
        src_data = ( 1,  2,  3,  4,  5,  6,  7,  8,  9,  10)
        trg_data = (-1, -1,  1,  1, -1, -1,  1,  1, -1,  -1)
        src = blocks.vector_source_i(src_data)
        trg = blocks.vector_source_s(trg_data)
        op  = blocks.burst_tagger(gr.sizeof_int)
        snk = blocks.tagged_file_sink(gr.sizeof_int, 1)
        self.tb.connect(src, (op,0))
        self.tb.connect(trg, (op,1))
        self.tb.connect(op, snk)
        self.tb.run()

        # Tagged file sink gets 2 burst tags at index 2 and index 5.
        # Creates two new files, each with two integers in them from
        # src_data at these indexes (3,4) and (7,8).
        file0 = "file{0}_0_2.00000000.dat".format(snk.unique_id())
        file1 = "file{0}_1_6.00000000.dat".format(snk.unique_id())

        # Open the files and read in the data, then remove the files
        # to clean up the directory.
        outfile0 = file(file0, 'rb')
	outfile1 = file(file1, 'rb')
	data0 = outfile0.read(8)
	data1 = outfile1.read(8)
        outfile0.close()
        outfile1.close()
	os.remove(file0)
	os.remove(file1)

        # Convert the 8 bytes from the files into a tuple of 2 ints.
        idata0 = struct.unpack('ii', data0)
        idata1 = struct.unpack('ii', data1)

        self.assertEqual(idata0, (3, 4))
        self.assertEqual(idata1, (7, 8))
Ejemplo n.º 6
0
 def test_fir_filter_scc_002(self):
     self.generate_scc_source()
     expected_data = (
         (-0.0080680437386 - 0.00158522999845j),
         (-0.0037795654498 + 0.00733159901574j),
         (0.00842926371843 + 0.00777021236718j), (0.0112090632319 -
                                                  0.00249325321056j),
         (-0.0027476802934 - 0.0115710813552j), (-0.0158688724041 -
                                                 0.00715934624895j),
         (-0.00802888441831 + 0.00620818417519j), (0.0131985172629 +
                                                   0.0149175003171j),
         (0.0190298333764 + 0.00956719089299j), (-0.00112380902283 -
                                                 0.00936658866704j),
         (-0.0204226914793 - 0.0333464704454j), (-0.00695514678955 -
                                                 0.0437445007265j),
         (0.0314490310848 - 0.0207983348519j), (0.0529675260186 +
                                                0.0302227605134j),
         (0.0317338332534 + 0.0667510479689j), (-0.00775565672666 +
                                                0.0437112376094j),
         (-0.024347923696 - 0.0303014591336j), (-0.0108893103898 -
                                                0.0875638127327j),
         (0.00204296782613 - 0.0721434056759j), (-0.00527479872108 -
                                                 0.00698097236454j))
     src = blocks.vector_source_s(self.src_data)
     op = filter.freq_xlating_fir_filter_scc(4, self.taps, self.fc, self.fs)
     dst = blocks.vector_sink_c()
     self.tb.connect(src, op, dst)
     self.tb.run()
     result_data = dst.data()
     self.assertComplexTuplesAlmostEqual(expected_data, result_data[-20:],
                                         5)
Ejemplo n.º 7
0
 def test_fir_filter_scc_001(self):
     self.generate_scc_source()
     expected_data = (
         (-0.00775564694777 + 0.0437113791704j),
         (0.0108830630779 + 0.0433648750186j),
         (0.015553932637 - 0.0133284125477j), (-0.0264905355871 -
                                               0.0403266139328j),
         (-0.0243480335921 - 0.03030154109j), (-0.000327925226884 -
                                               0.069333948195j),
         (-0.0306392069906 - 0.107313856483j), (-0.0452371090651 -
                                                0.0854917764664j),
         (-0.0108894333243 - 0.0875641107559j), (-0.0182112380862 -
                                                 0.118961036205j),
         (-0.0447825863957 - 0.0922874584794j), (-0.0147479763255 -
                                                 0.0572904124856j),
         (0.00204290449619 - 0.0721436738968j), (-0.027713002637 -
                                                 0.0548989400268j),
         (-0.0149045493454 - 0.00210141134448j), (0.0176361314952 -
                                                  0.00149522523861j),
         (-0.00527482619509 - 0.00698099425063j), (-0.0151527002454 +
                                                   0.036265052855j),
         (0.0199296213686 + 0.0452499426901j), (0.0122985243797 +
                                                0.0143278446048j))
     src = blocks.vector_source_s(self.src_data)
     op = filter.freq_xlating_fir_filter_scc(1, self.taps, self.fc, self.fs)
     dst = blocks.vector_sink_c()
     self.tb.connect(src, op, dst)
     self.tb.run()
     result_data = dst.data()
     self.assertComplexTuplesAlmostEqual(expected_data, result_data[-20:],
                                         5)
Ejemplo n.º 8
0
 def test001_module_load(self):
     data = 20 * (100, 200, 300, 400, 500, 600, 700, 800)
     expected_data = (0, 0, 360, 304, 256, 720, 600, 504, 200, 144, 128,
                      464, 376, 384, 680, 576, 440, 264, 176, 176, 640, 520,
                      480, 464, 384, 288, 432, 296, 328, 760, 624, 504, 176,
                      96, 96, 416, 312, 360, 808, 672, 216, 104, 136, 504,
                      376, 448, 720, 608, 296, 304, 176, 336, 576, 456, 560,
                      512, 320, 216, 344, 264, 456, 672, 576, 488, 192, 80,
                      152, 424, 368, 552, 688, 560, 280, 200, 104, 256, 520,
                      464, 608, 488, 184, 104, 16, 472, 456, 360, 696, 568,
                      208, 136, 88, 376, 480, 456, 616, 472, 232, 224, 264,
                      320, 512, 624, 632, 520, 176, 80, 192, 304, 400, 592,
                      664, 552, 248, 152, 144, 336, 440, 520, 616, 664, 304,
                      176, 80, 536, 448, 376, 680, 600, 240, 168, 112, 408,
                      488, 472, 608, 480, 240, 232, 208, 288, 480, 600, 616,
                      520, 176, 88, 184, 296, 392, 584, 656, 552, 248, 160,
                      144, 336, 432, 512, 608, 664)
     src = blocks.vector_source_s(data)
     enc = vocoder.gsm_fr_encode_sp()
     dec = vocoder.gsm_fr_decode_ps()
     snk = blocks.vector_sink_s()
     self.tb.connect(src, enc, dec, snk)
     self.tb.run()
     actual_result = snk.data()
     self.assertEqual(expected_data, actual_result)
Ejemplo n.º 9
0
 def test_fir_filter_scf_001(self):
     self.generate_scf_source()
     expected_data = (
         (-0.0330070219934 + 0.101965591311j),
         (-0.0484239049256 + 0.0872343629599j),
         (-0.0214109234512 + 0.102555386722j), (0.0484058149159 +
                                                0.0557125210762j),
         (0.0574690811336 - 0.0350844524801j), (0.0365394353867 -
                                                0.0802438184619j),
         (0.0453781634569 - 0.130992040038j), (0.00801951438189 -
                                               0.214278846979j),
         (-0.0770946145058 - 0.230616629124j), (-0.105601429939 -
                                                0.190731987357j),
         (-0.105361394584 - 0.177761554718j), (-0.131518915296 -
                                               0.136102750897j),
         (-0.103761836886 - 0.0382263250649j), (-0.0167790111154 +
                                                0.0152206514031j),
         (0.0277570039034 + 0.0300403907895j), (0.056065287441 +
                                                0.0806603953242j),
         (0.118084669113 + 0.104863211513j), (0.128281414509 +
                                              0.0677760615945j),
         (0.0748447552323 + 0.0619902014732j), (0.0512856245041 +
                                                0.0775099247694j))
     src = blocks.vector_source_s(self.src_data)
     op = filter.freq_xlating_fir_filter_scf(1, self.taps, self.fc, self.fs)
     dst = blocks.vector_sink_c()
     self.tb.connect(src, op, dst)
     self.tb.run()
     result_data = dst.data()
     self.assertComplexTuplesAlmostEqual(expected_data, result_data[-20:],
                                         5)
Ejemplo n.º 10
0
 def test_fir_filter_scf_002(self):
     self.generate_scf_source()
     expected_data = ((0.00824625696987 - 1.50158575707e-05j),
                      (0.0020101047121 - 0.0116540221497j),
                      (-0.0126378880814 - 0.00259830290452j),
                      (-0.00363933457993 + 0.00837504956871j),
                      (0.00107023562305 + 0.00915473792702j),
                      (0.0169738996774 + 0.00422182958573j),
                      (0.00630031805485 - 0.025423232466j),
                      (-0.0283014029264 + 0.00104465708137j),
                      (0.00890890974551 + 0.0115978596732j),
                      (-0.0142687577754 + 0.00306978379376j),
                      (0.02845691517 + 0.0331163145602j),
                      (0.0538152232766 - 0.0908300876617j),
                      (-0.0843691527843 - 0.0956566259265j),
                      (0.0476895272732 + 0.0747984498739j),
                      (0.0898786485195 + 0.082478672266j),
                      (-0.0330070182681 + 0.101965606213j),
                      (0.0574697069824 - 0.0350842289627j),
                      (-0.0770940706134 - 0.230615705252j),
                      (-0.103762261569 -
                       0.0382265634835j), (0.11808334291 + 0.104863762856j))
     src = blocks.vector_source_s(self.src_data)
     op = filter.freq_xlating_fir_filter_scf(4, self.taps, self.fc, self.fs)
     dst = blocks.vector_sink_c()
     self.tb.connect(src, op, dst)
     self.tb.run()
     result_data = dst.data()
     self.assertComplexTuplesAlmostEqual(expected_data, result_data[-20:],
                                         5)
Ejemplo n.º 11
0
 def test001_module_load(self):
     data = 20 * (100, 200, 300, 400, 500, 600, 700, 800)
     expected_data = (0, 0, 0, 3, 2, 0, 1, 5, 6, 7, 1, -1, 0, -5, -11, -10,
                      -20, -22, -20, -20, -27, -26, -36, -48, -59, -24, 5,
                      -7, -12, -27, -22, -22, -16, 13, 20, 39, 23, 25, 8,
                      -6, 15, 44, 97, 135, 145, 125, 94, 102, 126, 129, 165,
                      192, 180, 132, 99, 79, 73, 83, 72, 47, 40, 0, -32,
                      -46, -67, -99, -123, -114, -87, -108, -131, -152,
                      -181, -245, -348, -294, -101, -71, -85, -26, 99, 123,
                      15, 2, 77, 13, -117, -145, -105, -39, -50, -89, -59,
                      -77, -134, -95, -51, -22, 17, -19, -59, -74, -103,
                      -78, 4, 77, 113, 60, 18, 13, -67, -49, 24, 88, 179,
                      190, 89, 18, -90, -102, -50, -5, 123, 135, 57, 31,
                      -82, -98, -51, 6, 93, 104, 44, -5, -84, -107, -44, 45,
                      102, 104, 15, -47, -107, -126, -87, -11, 89, 93, 13,
                      -95, -136, -187, -70, -167, 216, -70, -103, 175, -284,
                      -486)
     src = blocks.vector_source_s(data)
     enc = vocoder.codec2_encode_sp()
     dec = vocoder.codec2_decode_ps()
     snk = blocks.vector_sink_s()
     self.tb.connect(src, enc, dec, snk)
     self.tb.run()
     actual_result = snk.data()
     self.assertEqual(expected_data, actual_result)
Ejemplo n.º 12
0
 def test_short_to_char(self):
     src_data = (256, 512, 768, 1024, 1280)
     expected_data = (1, 2, 3, 4, 5)
     src = blocks.vector_source_s(src_data)
     op = blocks.short_to_char()
     dst = blocks.vector_sink_b()
     self.tb.connect(src, op, dst)
     self.tb.run()
     self.assertEqual(expected_data, dst.data())
Ejemplo n.º 13
0
 def test_interleaved_short_to_complex(self):
     src_data = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
     expected_data = (1 + 2j, 3 + 4j, 5 + 6j, 7 + 8j, 9 + 10j)
     src = blocks.vector_source_s(src_data)
     op = blocks.interleaved_short_to_complex()
     dst = blocks.vector_sink_c()
     self.tb.connect(src, op, dst)
     self.tb.run()
     self.assertEqual(expected_data, dst.data())
Ejemplo n.º 14
0
 def help_ss(self, src_data, exp_data, op):
     for s in zip(range(len(src_data)), src_data):
         src = blocks.vector_source_s(s[1])
         self.tb.connect(src, (op, s[0]))
     dst = blocks.vector_sink_s()
     self.tb.connect(op, dst)
     self.tb.run()
     result_data = dst.data()
     self.assertEqual(exp_data, result_data)
Ejemplo n.º 15
0
 def test_and_const_ss (self):
     src_data =        (1,  2,  3,  0x5004,   0x1150)
     expected_result = (0,  2,  2,  0x5000,   0x1100)
     src = blocks.vector_source_s(src_data)
     op = blocks.and_const_ss (0x55AA)
     dst = blocks.vector_sink_s()
     self.tb.connect(src, op, dst)
     self.tb.run()
     self.assertEqual(dst.data(), expected_result)
Ejemplo n.º 16
0
 def test_short_to_float_identity(self):
     src_data = (1, 2, 3, 4, 5)
     expected_data = (1.0, 2.0, 3.0, 4.0, 5.0)
     src = blocks.vector_source_s(src_data)
     op = blocks.short_to_float()
     dst = blocks.vector_sink_f()
     self.tb.connect(src, op, dst)
     self.tb.run()
     self.assertEqual(expected_data, dst.data())
Ejemplo n.º 17
0
    def help_const_ss(self, src_data, exp_data, op):
	src = blocks.vector_source_s(src_data)
	srcv = blocks.stream_to_vector(gr.sizeof_short, len(src_data))
	rhs = blocks.vector_to_stream(gr.sizeof_short, len(src_data))
        dst = blocks.vector_sink_s()
        self.tb.connect(src, srcv, op, rhs, dst)
        self.tb.run()
        result_data = dst.data()
        self.assertEqual(exp_data, result_data)
Ejemplo n.º 18
0
 def help_ss (self, src_data, exp_data, op):
     for s in zip (range (len (src_data)), src_data):
         src = blocks.vector_source_s (s[1])
         self.tb.connect (src, (op, s[0]))
     dst = blocks.vector_sink_s ()
     self.tb.connect (op, dst)
     self.tb.run ()
     result_data = dst.data ()
     self.assertEqual (exp_data, result_data)
Ejemplo n.º 19
0
    def test_000_ss(self):
	src_data = (1, 2, 3, 4, 5, 6)
	dst_data = (6, 15)
	src = blocks.vector_source_s(src_data)
	itg = blocks.integrate_ss(3)
	dst = blocks.vector_sink_s()
	self.tb.connect(src, itg, dst)
	self.tb.run()
	self.assertEqual(dst_data, dst.data())
Ejemplo n.º 20
0
 def test_short_to_float_scale(self):
     src_data = (5, 10, 15, 20, 25)
     expected_data = (1.0, 2.0, 3.0, 4.0, 5.0)
     src = blocks.vector_source_s(src_data)
     op = blocks.short_to_float(1, 5)
     dst = blocks.vector_sink_f()
     self.tb.connect(src, op, dst)
     self.tb.run()
     self.assertEqual(expected_data, dst.data())
Ejemplo n.º 21
0
 def test_short_to_char(self):
     src_data = (256, 512, 768, 1024, 1280)
     expected_data = (1, 2, 3, 4, 5)
     src = blocks.vector_source_s(src_data)
     op = blocks.short_to_char()
     dst = blocks.vector_sink_b()
     self.tb.connect(src, op, dst)
     self.tb.run()
     self.assertEqual(expected_data, dst.data())
Ejemplo n.º 22
0
 def test_and_const_ss(self):
     src_data = (1, 2, 3, 0x5004, 0x1150)
     expected_result = (0, 2, 2, 0x5000, 0x1100)
     src = blocks.vector_source_s(src_data)
     op = blocks.and_const_ss(0x55AA)
     dst = blocks.vector_sink_s()
     self.tb.connect(src, op, dst)
     self.tb.run()
     self.assertEqual(dst.data(), expected_result)
Ejemplo n.º 23
0
 def test_interleaved_short_to_complex(self):
     src_data = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
     expected_data = (1+2j, 3+4j, 5+6j, 7+8j, 9+10j)
     src = blocks.vector_source_s(src_data)
     op = blocks.interleaved_short_to_complex()
     dst = blocks.vector_sink_c()
     self.tb.connect(src, op, dst)
     self.tb.run()
     self.assertEqual(expected_data, dst.data())
Ejemplo n.º 24
0
 def test_short_to_float_identity(self):
     src_data = (1, 2, 3, 4, 5)
     expected_data = (1.0, 2.0, 3.0, 4.0, 5.0)
     src = blocks.vector_source_s(src_data)
     op = blocks.short_to_float()
     dst = blocks.vector_sink_f()
     self.tb.connect(src, op, dst)
     self.tb.run()
     self.assertEqual(expected_data, dst.data())
Ejemplo n.º 25
0
 def test_short_to_float_scale(self):
     src_data = (5, 10, 15, 20, 25)
     expected_data = (1.0, 2.0, 3.0, 4.0, 5.0)
     src = blocks.vector_source_s(src_data)
     op = blocks.short_to_float(1, 5)
     dst = blocks.vector_sink_f()
     self.tb.connect(src, op, dst)
     self.tb.run()
     self.assertEqual(expected_data, dst.data())
Ejemplo n.º 26
0
 def test001_module_load (self):
     data = (0,8,36,72,100,152,228,316,404,528)
     src = blocks.vector_source_s(data)
     enc = vocoder.g723_40_encode_sb()
     dec = vocoder.g723_40_decode_bs()
     snk = blocks.vector_sink_s()
     self.tb.connect(src, enc, dec, snk)
     self.tb.run()
     actual_result = snk.data()
     self.assertEqual(data, actual_result)
Ejemplo n.º 27
0
 def test001_module_load(self):
     data = (0, 16, 36, 40, 68, 104, 148, 220, 320, 512)
     src = blocks.vector_source_s(data)
     enc = vocoder.g723_24_encode_sb()
     dec = vocoder.g723_24_decode_bs()
     snk = blocks.vector_sink_s()
     self.tb.connect(src, enc, dec, snk)
     self.tb.run()
     actual_result = snk.data()
     self.assertEqual(data, actual_result)
Ejemplo n.º 28
0
 def test001_module_load(self):
     data = (0, 16, 36, 40, 68, 104, 148, 220, 320, 512)
     src = blocks.vector_source_s(data)
     enc = vocoder.g723_24_encode_sb()
     dec = vocoder.g723_24_decode_bs()
     snk = blocks.vector_sink_s()
     self.tb.connect(src, enc, dec, snk)
     self.tb.run()
     actual_result = snk.data()
     self.assertEqual(data, actual_result)
Ejemplo n.º 29
0
 def test001_module_load (self):
     data = (8,24,36,52,56,64,76,88,104,124,132,148,172,
             196,220,244,280,320,372,416,468,524,580,648)
     src = blocks.vector_source_s(data)
     enc = vocoder.g721_encode_sb()
     dec = vocoder.g721_decode_bs()
     snk = blocks.vector_sink_s()
     self.tb.connect(src, enc, dec, snk)
     self.tb.run()
     actual_result = snk.data()
     self.assertEqual(data, actual_result)
Ejemplo n.º 30
0
 def test001_module_load (self):
     data = (8,24,40,56,72,88,104,120,136,152,168,184,
             200,216,232,248,264,280,296,312,328,344)
     src = blocks.vector_source_s(data)
     enc = vocoder.alaw_encode_sb()
     dec = vocoder.alaw_decode_bs()
     snk = blocks.vector_sink_s()
     self.tb.connect(src, enc, dec, snk)
     self.tb.run()
     actual_result = snk.data()
     self.assertEqual(data, actual_result)
Ejemplo n.º 31
0
 def test001_module_load(self):
     data = (8, 24, 36, 52, 56, 64, 76, 88, 104, 124, 132, 148, 172, 196,
             220, 244, 280, 320, 372, 416, 468, 524, 580, 648)
     src = blocks.vector_source_s(data)
     enc = vocoder.g721_encode_sb()
     dec = vocoder.g721_decode_bs()
     snk = blocks.vector_sink_s()
     self.tb.connect(src, enc, dec, snk)
     self.tb.run()
     actual_result = snk.data()
     self.assertEqual(data, actual_result)
Ejemplo n.º 32
0
 def test001_module_load(self):
     data = (8, 24, 40, 56, 72, 88, 104, 120, 132, 148, 164, 180, 196, 212,
             228, 244, 260, 276, 292, 308, 324, 340)
     src = blocks.vector_source_s(data)
     enc = vocoder.ulaw_encode_sb()
     dec = vocoder.ulaw_decode_bs()
     snk = blocks.vector_sink_s()
     self.tb.connect(src, enc, dec, snk)
     self.tb.run()
     actual_result = snk.data()
     self.assertEqual(data, actual_result)
Ejemplo n.º 33
0
 def test001_module_load (self):
     data = (8,24,40,56,72,88,104,120,132,148,164,180,
             196,212,228,244,260,276,292,308,324,340)
     src = blocks.vector_source_s(data)
     enc = vocoder.ulaw_encode_sb()
     dec = vocoder.ulaw_decode_bs()
     snk = blocks.vector_sink_s()
     self.tb.connect(src, enc, dec, snk)
     self.tb.run()
     actual_result = snk.data()
     self.assertEqual(data, actual_result)
Ejemplo n.º 34
0
 def test001_module_load(self):
     data = (8, 24, 40, 56, 72, 88, 104, 120, 136, 152, 168, 184, 200, 216,
             232, 248, 264, 280, 296, 312, 328, 344)
     src = blocks.vector_source_s(data)
     enc = vocoder.alaw_encode_sb()
     dec = vocoder.alaw_decode_bs()
     snk = blocks.vector_sink_s()
     self.tb.connect(src, enc, dec, snk)
     self.tb.run()
     actual_result = snk.data()
     self.assertEqual(data, actual_result)
Ejemplo n.º 35
0
    def help_ss(self, size, src_data, exp_data, op):
        for s in zip(range (len (src_data)), src_data):
            src = blocks.vector_source_s(s[1])
	    srcv = blocks.stream_to_vector(gr.sizeof_short, size)
	    self.tb.connect(src, srcv)
            self.tb.connect(srcv, (op, s[0]))
	rhs = blocks.vector_to_stream(gr.sizeof_short, size)
        dst = blocks.vector_sink_s()
        self.tb.connect(op, rhs, dst)
        self.tb.run()
        result_data = dst.data()
        self.assertEqual(exp_data, result_data)
Ejemplo n.º 36
0
    def test_001(self):
        src_data = [1,2,3,4]
        expected_result = [256, 512, 768, 1024];

        src = blocks.vector_source_s(src_data)
        op = blocks.endian_swap(2)
        dst = blocks.vector_sink_s()

        self.tb.connect(src, op, dst)
        self.tb.run()
        result_data = list(dst.data())

        self.assertEqual(expected_result, result_data)
Ejemplo n.º 37
0
    def test_sf_006(self):
        const = [-3, -1, 1, 3]
        src_data = (0, 1, 2, 3, 3, 2, 1, 0)
        expected_result = (-3, -1, 1, 3, 3, 1, -1, -3)

        src = blocks.vector_source_s(src_data)
        op = digital.chunks_to_symbols_sf(const)

        dst = blocks.vector_sink_f()
        self.tb.connect(src, op)
        self.tb.connect(op, dst)
        self.tb.run()

        actual_result = dst.data()
        self.assertEqual(expected_result, actual_result)
Ejemplo n.º 38
0
    def test_sf_006(self):
        const = [-3, -1, 1, 3]
        src_data = (0, 1, 2, 3, 3, 2, 1, 0)
        expected_result = (-3, -1, 1, 3,
                            3, 1, -1, -3)

        src = blocks.vector_source_s(src_data)
        op = digital.chunks_to_symbols_sf(const)

        dst = blocks.vector_sink_f()
        self.tb.connect(src, op)
        self.tb.connect(op, dst)
        self.tb.run()

        actual_result = dst.data()
        self.assertEqual(expected_result, actual_result)
Ejemplo n.º 39
0
    def test_sc_005(self):
        const = [1 + 0j, 0 + 1j, -1 + 0j, 0 - 1j]
        src_data = (0, 1, 2, 3, 3, 2, 1, 0)
        expected_result = (1 + 0j, 0 + 1j, -1 + 0j, 0 - 1j, 0 - 1j, -1 + 0j,
                           0 + 1j, 1 + 0j)

        src = blocks.vector_source_s(src_data)
        op = digital.chunks_to_symbols_sc(const)

        dst = blocks.vector_sink_c()
        self.tb.connect(src, op)
        self.tb.connect(op, dst)
        self.tb.run()

        actual_result = dst.data()
        self.assertEqual(expected_result, actual_result)
Ejemplo n.º 40
0
    def test_sc_005(self):
        const = [ 1+0j, 0+1j,
                 -1+0j, 0-1j]
        src_data = (0, 1, 2, 3, 3, 2, 1, 0)
        expected_result = (1+0j, 0+1j, -1+0j, 0-1j,
                           0-1j, -1+0j, 0+1j, 1+0j)

        src = blocks.vector_source_s(src_data)
        op = digital.chunks_to_symbols_sc(const)

        dst = blocks.vector_sink_c()
        self.tb.connect(src, op)
        self.tb.connect(op, dst)
        self.tb.run()

        actual_result = dst.data()
        self.assertEqual(expected_result, actual_result)
Ejemplo n.º 41
0
    def test_101b(self):
        random.seed(0)
        src_data = []
        for i in xrange(100):
            src_data.append((random.randint(-2**15,2**15-1)))
        src_data = tuple(src_data)
        expected_results = src_data
        src = blocks.vector_source_s(tuple(src_data), False)
        op1 = blocks.packed_to_unpacked_ss(8, gr.GR_LSB_FIRST)
        op2 = blocks.unpacked_to_packed_ss(8, gr.GR_LSB_FIRST)
        dst = blocks.vector_sink_s()

        self.tb.connect(src, op1, op2)
        self.tb.connect(op2, dst)
        self.tb.run()

        self.assertEqual(expected_results, dst.data())
Ejemplo n.º 42
0
 def test_fir_filter_scc_002(self):
     src_data = 40*[1, 2, 3, 4]
     expected_data = ((0.5+1j), (5.5+11j), (10.5+21j), (15.5+31j), (20.5+41j),
                      (25.5+51j), (30.5+61j), (35.5+71j), (40.5+81j), (45.5+91j),
                      (50+100j), (50+100j), (50+100j), (50+100j), (50+100j),
                      (50+100j), (50+100j), (50+100j), (50+100j), (50+100j),
                      (50+100j), (50+100j), (50+100j), (50+100j), (50+100j),
                      (50+100j), (50+100j), (50+100j), (50+100j), (50+100j),
                      (50+100j), (50+100j), (50+100j), (50+100j), (50+100j),
                      (50+100j), (50+100j), (50+100j), (50+100j), (50+100j))
     src = blocks.vector_source_s(src_data)
     op  = filter.fir_filter_scc(4, 20*[0.5+1j, 0.5+1j])
     dst = blocks.vector_sink_c()
     self.tb.connect(src, op, dst)
     self.tb.run()
     result_data = dst.data()
     self.assertComplexTuplesAlmostEqual(expected_data, result_data, 5)
Ejemplo n.º 43
0
    def test_101b(self):
        random.seed(0)
        src_data = []
        for i in xrange(100):
            src_data.append((random.randint(-2**15, 2**15 - 1)))
        src_data = tuple(src_data)
        expected_results = src_data
        src = blocks.vector_source_s(tuple(src_data), False)
        op1 = blocks.packed_to_unpacked_ss(8, gr.GR_LSB_FIRST)
        op2 = blocks.unpacked_to_packed_ss(8, gr.GR_LSB_FIRST)
        dst = blocks.vector_sink_s()

        self.tb.connect(src, op1, op2)
        self.tb.connect(op2, dst)
        self.tb.run()

        self.assertEqual(expected_results, dst.data())
Ejemplo n.º 44
0
    def test_001(self):
        # Tests calling disconnect/reconnect.

        port = 65500

        n_data = 16
        src_data = [x for x in range(n_data)]
        expected_result = tuple(src_data)
        src = blocks.vector_source_s(src_data, False)
        udp_snd = blocks.udp_sink(gr.sizeof_short, 'localhost', port)
        self.tb_snd.connect(src, udp_snd)

        self.tb_snd.run()
        udp_snd.disconnect()

        udp_snd.connect('localhost', port+1)
        src.rewind()
        self.tb_snd.run()
Ejemplo n.º 45
0
    def test_001(self):
        # Tests calling disconnect/reconnect.

        port = 65500

        n_data = 16
        src_data = [x for x in range(n_data)]
        expected_result = tuple(src_data)
        src = blocks.vector_source_s(src_data, False)
        udp_snd = blocks.udp_sink(gr.sizeof_short, 'localhost', port)
        self.tb_snd.connect(src, udp_snd)

        self.tb_snd.run()
        udp_snd.disconnect()

        udp_snd.connect('localhost', port + 1)
        src.rewind()
        self.tb_snd.run()
Ejemplo n.º 46
0
    def test_03(self):
        tb = self.tb

        data = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0]

        expected_result = (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
                           0, 0, 0, 0)

        src = blocks.vector_source_s(data, False)
        regen = blocks.peak_detector_sb()
        dst = blocks.vector_sink_b()

        tb.connect(src, regen)
        tb.connect(regen, dst)
        tb.run()

        dst_data = dst.data()

        self.assertEqual(expected_result, dst_data)
Ejemplo n.º 47
0
    def test_03(self):
        tb = self.tb

        data = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
                9, 8, 7, 6, 5, 4, 3, 2, 1, 0]

        expected_result = (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
                           0, 0, 0, 0, 0, 0, 0, 0, 0, 0)

        src = blocks.vector_source_s(data, False)
        regen = blocks.peak_detector_sb()
        dst = blocks.vector_sink_b()

        tb.connect(src, regen)
        tb.connect(regen, dst)
        tb.run()

        dst_data = dst.data()

        self.assertEqual(expected_result, dst_data)
Ejemplo n.º 48
0
 def test_fir_filter_scc_001(self):
     src_data = 40*[1, 2, 3, 4]
     expected_data = ((0.5+1j), (1.5+3j), (3+6j), (5+10j), (5.5+11j),
                      (6.5+13j), (8+16j), (10+20j), (10.5+21j), (11.5+23j),
                      (13+26j), (15+30j), (15.5+31j), (16.5+33j), (18+36j),
                      (20+40j), (20.5+41j), (21.5+43j), (23+46j), (25+50j),
                      (25.5+51j), (26.5+53j), (28+56j), (30+60j), (30.5+61j),
                      (31.5+63j), (33+66j), (35+70j), (35.5+71j), (36.5+73j),
                      (38+76j), (40+80j), (40.5+81j), (41.5+83j), (43+86j),
                      (45+90j), (45.5+91j), (46.5+93j), (48+96j), (50+100j),
                      (50+100j), (50+100j), (50+100j), (50+100j), (50+100j),
                      (50+100j), (50+100j), (50+100j), (50+100j), (50+100j),
                      (50+100j), (50+100j), (50+100j), (50+100j), (50+100j),
                      (50+100j), (50+100j), (50+100j), (50+100j), (50+100j),
                      (50+100j), (50+100j), (50+100j), (50+100j), (50+100j),
                      (50+100j), (50+100j), (50+100j), (50+100j), (50+100j),
                      (50+100j), (50+100j), (50+100j), (50+100j), (50+100j),
                      (50+100j), (50+100j), (50+100j), (50+100j), (50+100j),
                      (50+100j), (50+100j), (50+100j), (50+100j), (50+100j),
                      (50+100j), (50+100j), (50+100j), (50+100j), (50+100j),
                      (50+100j), (50+100j), (50+100j), (50+100j), (50+100j),
                      (50+100j), (50+100j), (50+100j), (50+100j), (50+100j),
                      (50+100j), (50+100j), (50+100j), (50+100j), (50+100j),
                      (50+100j), (50+100j), (50+100j), (50+100j), (50+100j),
                      (50+100j), (50+100j), (50+100j), (50+100j), (50+100j),
                      (50+100j), (50+100j), (50+100j), (50+100j), (50+100j),
                      (50+100j), (50+100j), (50+100j), (50+100j), (50+100j),
                      (50+100j), (50+100j), (50+100j), (50+100j), (50+100j),
                      (50+100j), (50+100j), (50+100j), (50+100j), (50+100j),
                      (50+100j), (50+100j), (50+100j), (50+100j), (50+100j),
                      (50+100j), (50+100j), (50+100j), (50+100j), (50+100j),
                      (50+100j), (50+100j), (50+100j), (50+100j), (50+100j),
                      (50+100j), (50+100j), (50+100j), (50+100j), (50+100j),
                      (50+100j), (50+100j), (50+100j), (50+100j), (50+100j))
     src = blocks.vector_source_s(src_data)
     op  = filter.fir_filter_scc(1, 20*[0.5+1j, 0.5+1j])
     dst = blocks.vector_sink_c()
     self.tb.connect(src, op, dst)
     self.tb.run()
     result_data = dst.data()
     self.assertComplexTuplesAlmostEqual(expected_data, result_data, 5)
Ejemplo n.º 49
0
    def test_001(self):
        src_data  = ( 1,  2,  3,  4,  5,  6,  7,  8,  9,  10)
        trg_data = (-1, -1,  1,  1, -1, -1,  1,  1, -1,  -1)
        src = blocks.vector_source_i(src_data)
        trg = blocks.vector_source_s(trg_data)
        op  = blocks.burst_tagger(gr.sizeof_int)
        snk = blocks.tag_debug(gr.sizeof_int, "burst tagger QA")
        self.tb.connect(src, (op,0))
        self.tb.connect(trg, (op,1))
        self.tb.connect(op, snk)
        self.tb.run()
        
        x = snk.current_tags()
        self.assertEqual(2, x[0].offset)
        self.assertEqual(4, x[1].offset)
        self.assertEqual(6, x[2].offset)
        self.assertEqual(8, x[3].offset)

        self.assertEqual(True,  pmt.to_bool(x[0].value))
        self.assertEqual(False, pmt.to_bool(x[1].value))
        self.assertEqual(True,  pmt.to_bool(x[2].value))
        self.assertEqual(False, pmt.to_bool(x[3].value))
Ejemplo n.º 50
0
 def test001_module_load (self):
     data = 20*(100,200,300,400,500,600,700,800)
     expected_data = (0,0,0,3,2,0,1,5,6,7,1,-1,0,-5,-11,-10,-20,-22,
                      -20,-20,-27,-26,-36,-48,-59,-24,5,-7,-12,-27,-22,
                      -22,-16,13,20,39,23,25,8,-6,15,44,97,135,145,125,
                      94,102,126,129,165,192,180,132,99,79,73,83,72,47,
                      40,0,-32,-46,-67,-99,-123,-114,-87,-108,-131,-152,
                      -181,-245,-348,-294,-101,-71,-85,-26,99,123,15,2,77,
                      13,-117,-145,-105,-39,-50,-89,-59,-77,-134,-95,-51,
                      -22,17,-19,-59,-74,-103,-78,4,77,113,60,18,13,-67,
                      -49,24,88,179,190,89,18,-90,-102,-50,-5,123,135,57,
                      31,-82,-98,-51,6,93,104,44,-5,-84,-107,-44,45,102,104,
                      15,-47,-107,-126,-87,-11,89,93,13,-95,-136,-187,-70,
                      -167,216,-70,-103,175,-284,-486)
     src = blocks.vector_source_s(data)
     enc = vocoder.codec2_encode_sp()
     dec = vocoder.codec2_decode_ps()
     snk = blocks.vector_sink_s()
     self.tb.connect(src, enc, dec, snk)
     self.tb.run()
     actual_result = snk.data()
     self.assertEqual(expected_data, actual_result)
Ejemplo n.º 51
0
    def test_001(self):
        src_data = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
        trg_data = (-1, -1, 1, 1, -1, -1, 1, 1, -1, -1)
        src = blocks.vector_source_i(src_data)
        trg = blocks.vector_source_s(trg_data)
        op = blocks.burst_tagger(gr.sizeof_int)
        snk = blocks.tag_debug(gr.sizeof_int, "burst tagger QA")
        self.tb.connect(src, (op, 0))
        self.tb.connect(trg, (op, 1))
        self.tb.connect(op, snk)
        self.tb.run()

        x = snk.current_tags()
        self.assertEqual(2, x[0].offset)
        self.assertEqual(4, x[1].offset)
        self.assertEqual(6, x[2].offset)
        self.assertEqual(8, x[3].offset)

        self.assertEqual(True, pmt.to_bool(x[0].value))
        self.assertEqual(False, pmt.to_bool(x[1].value))
        self.assertEqual(True, pmt.to_bool(x[2].value))
        self.assertEqual(False, pmt.to_bool(x[3].value))
Ejemplo n.º 52
0
 def test001_module_load (self):
     data = 20*(100,200,300,400,500,600,700,800)
     expected_data = (0,0,360,304,256,720,600,504,200,144,128,464,
                      376,384,680,576,440,264,176,176,640,520,480,
                      464,384,288,432,296,328,760,624,504,176,96,96,
                      416,312,360,808,672,216,104,136,504,376,448,
                      720,608,296,304,176,336,576,456,560,512,320,
                      216,344,264,456,672,576,488,192,80,152,424,
                      368,552,688,560,280,200,104,256,520,464,608,
                      488,184,104,16,472,456,360,696,568,208,136,88,
                      376,480,456,616,472,232,224,264,320,512,624,
                      632,520,176,80,192,304,400,592,664,552,248,152,
                      144,336,440,520,616,664,304,176,80,536,448,376,
                      680,600,240,168,112,408,488,472,608,480,240,232,
                      208,288,480,600,616,520,176,88,184,296,392,584,
                      656,552,248,160,144,336,432,512,608,664)
     src = blocks.vector_source_s(data)
     enc = vocoder.gsm_fr_encode_sp()
     dec = vocoder.gsm_fr_decode_ps()
     snk = blocks.vector_sink_s()
     self.tb.connect(src, enc, dec, snk)
     self.tb.run()
     actual_result = snk.data()
     self.assertEqual(expected_data, actual_result)