def test_001(self): tb = self.tb src1_data = (0,0.2,-0.3,0,12,0) src2_data = (0,0.0,3.0,0,10,0) src3_data = (0,0.0,3.0,0,1,0) src1 = blocks.vector_source_f(src1_data) s2v1 = blocks.stream_to_vector(gr.sizeof_float, len(src1_data)) tb.connect(src1, s2v1) src2 = blocks.vector_source_f(src2_data) s2v2 = blocks.stream_to_vector(gr.sizeof_float, len(src1_data)) tb.connect(src2, s2v2) src3 = blocks.vector_source_f(src3_data) s2v3 = blocks.stream_to_vector(gr.sizeof_float, len(src1_data)) tb.connect(src3, s2v3) dst1 = blocks.vector_sink_s() dst2 = blocks.vector_sink_s() argmax = blocks.argmax_fs(len(src1_data)) tb.connect(s2v1, (argmax, 0)) tb.connect(s2v2, (argmax, 1)) tb.connect(s2v3, (argmax, 2)) tb.connect((argmax,0), dst1) tb.connect((argmax,1), dst2) tb.run() index = dst1.data() source = dst2.data() self.assertEqual(index, (4,)) self.assertEqual(source, (0,))
def test_001(self): tb = self.tb src1_data = (0, 0.2, -0.3, 0, 12, 0) src2_data = (0, 0.0, 3.0, 0, 10, 0) src3_data = (0, 0.0, 3.0, 0, 1, 0) src1 = blocks.vector_source_f(src1_data) s2v1 = blocks.stream_to_vector(gr.sizeof_float, len(src1_data)) tb.connect(src1, s2v1) src2 = blocks.vector_source_f(src2_data) s2v2 = blocks.stream_to_vector(gr.sizeof_float, len(src1_data)) tb.connect(src2, s2v2) src3 = blocks.vector_source_f(src3_data) s2v3 = blocks.stream_to_vector(gr.sizeof_float, len(src1_data)) tb.connect(src3, s2v3) dst1 = blocks.vector_sink_s() dst2 = blocks.vector_sink_s() argmax = blocks.argmax_fs(len(src1_data)) tb.connect(s2v1, (argmax, 0)) tb.connect(s2v2, (argmax, 1)) tb.connect(s2v3, (argmax, 2)) tb.connect((argmax, 0), dst1) tb.connect((argmax, 1), dst2) tb.run() index = dst1.data() source = dst2.data() self.assertEqual(index, (4, )) self.assertEqual(source, (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)
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)
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)
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)
def test_char_to_short(self): src_data = (1, 2, 3, 4, 5) expected_data = (256, 512, 768, 1024, 1280) src = blocks.vector_source_b(src_data) op = blocks.char_to_short() dst = blocks.vector_sink_s() self.tb.connect(src, op, dst) self.tb.run() self.assertEqual(expected_data, dst.data())
def test_complex_to_interleaved_short(self): src_data = (1 + 2j, 3 + 4j, 5 + 6j, 7 + 8j, 9 + 10j) expected_data = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10) src = blocks.vector_source_c(src_data) op = blocks.complex_to_interleaved_short() dst = blocks.vector_sink_s() self.tb.connect(src, op, dst) self.tb.run() self.assertEqual(expected_data, dst.data())
def test_float_to_short_identity(self): src_data = (1.0, 2.0, 3.0, 4.0, 5.0) expected_data = (1, 2, 3, 4, 5) src = blocks.vector_source_f(src_data) op = blocks.float_to_short() dst = blocks.vector_sink_s() self.tb.connect(src, op, dst) self.tb.run() self.assertEqual(expected_data, dst.data())
def test_float_to_short_scale(self): src_data = (1.0, 2.0, 3.0, 4.0, 5.0) expected_data = (5, 10, 15, 20, 25) src = blocks.vector_source_f(src_data) op = blocks.float_to_short(1, 5) dst = blocks.vector_sink_s() self.tb.connect(src, op, dst) self.tb.run() self.assertEqual(expected_data, dst.data())
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)
def test_complex_to_interleaved_short(self): src_data = (1+2j, 3+4j, 5+6j, 7+8j, 9+10j) expected_data = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10) src = blocks.vector_source_c(src_data) op = blocks.complex_to_interleaved_short() dst = blocks.vector_sink_s() self.tb.connect(src, op, dst) self.tb.run() self.assertEqual(expected_data, dst.data())
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())
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
def test_fir_filter_fsf_002(self): src_data = 40*[1, 2, 3, 4] expected_data = (0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50) src = blocks.vector_source_f(src_data) op = filter.fir_filter_fsf(4, 20*[0.5, 0.5]) dst = blocks.vector_sink_s() self.tb.connect(src, op, dst) self.tb.run() result_data = dst.data() self.assertComplexTuplesAlmostEqual(expected_data, result_data, 5)
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)
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)
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())
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())
def test_fir_filter_fsf_001(self): src_data = 40*[1, 2, 3, 4] expected_data =(0, 1, 3, 5, 5, 6, 8, 10, 10, 11, 13, 15, 15, 16, 18, 20, 20, 21, 23, 25, 25, 26, 28, 30, 30, 31, 33, 35, 35, 36, 38, 40, 40, 41, 43, 45, 45, 46, 48, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50) src = blocks.vector_source_f(src_data) op = filter.fir_filter_fsf(1, 20*[0.5, 0.5]) dst = blocks.vector_sink_s() self.tb.connect(src, op, dst) self.tb.run() result_data = dst.data() self.assertComplexTuplesAlmostEqual(expected_data, result_data, 5)
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)
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)