예제 #1
0
    def test_rail_002(self):
        lo = -0.75
        hi = 0.90
        src_data = [-2, -1, -0.5, -0.25, 0, 0.25, 0.5, 1, 2]
        expected_result = map(lambda x: clip(x, lo, hi), src_data)

        src = gr.vector_source_f(src_data)
        op = analog.rail_ff(lo, hi)
        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, 4)
예제 #2
0
 def test_001_(self):
     src_data = numpy.array([-1.0, 1.0, -1.0, 1.0])
     trg_data = src_data * 0.5
     src = blocks.vector_source_f(src_data)
     dst = blocks.vector_sink_f()
     rail = analog.rail_ff(-0.5, 0.5)
     self.tb.connect(src, rail)
     self.tb.connect(rail, dst)
     self.tb.run()
     rsl_data = dst.data()
     sum = 0
     for (u, v) in zip(trg_data, rsl_data):
         w = u - v
         sum += w * w
     sum /= float(len(trg_data))
     assert sum < 1e-6
예제 #3
0
    def test_rail_002(self):
        lo = -0.75
        hi = 0.90
        src_data = [-2, -1, -0.5, -0.25, 0, 0.25, 0.5, 1, 2]
        expected_result = map(lambda x: clip(x, lo, hi), src_data)

        src = gr.vector_source_f(src_data)
        op = analog.rail_ff(lo, hi)
        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, 4)
예제 #4
0
 def test_001_(self):
     src_data = numpy.array([-1.0, 1.0, -1.0, 1.0])
     trg_data = src_data * 0.5
     src = blocks.vector_source_f(src_data)
     dst = blocks.vector_sink_f()
     rail = analog.rail_ff(-0.5, 0.5)
     self.tb.connect(src, rail)
     self.tb.connect(rail, dst)
     self.tb.run()
     rsl_data = dst.data()
     sum = 0
     for (u, v) in zip(trg_data, rsl_data):
         w = u - v
         sum += w * w
     sum /= float(len(trg_data))
     assert sum < 1e-6
예제 #5
0
    def test_rail_001(self):
        # Test set/gets
        
        hi1 = 1
        hi2 = 2
        lo1 = -1
        lo2 = -2

        op = analog.rail_ff(lo1, hi1)

        op.set_hi(hi2)
        h = op.hi()
        self.assertEqual(hi2, h)

        op.set_lo(lo2)
        l = op.lo()
        self.assertEqual(lo2, l)
예제 #6
0
    def test_rail_001(self):
        # Test set/gets

        hi1 = 1
        hi2 = 2
        lo1 = -1
        lo2 = -2

        op = analog.rail_ff(lo1, hi1)

        op.set_hi(hi2)
        h = op.hi()
        self.assertEqual(hi2, h)

        op.set_lo(lo2)
        l = op.lo()
        self.assertEqual(lo2, l)