コード例 #1
0
    def sacch_hr_test(self, ts, sub, frames, bursts):
        timeslots = [ts, ts, ts, ts, ts, ts, ts, ts]

        src = grgsm.burst_source(frames, timeslots, bursts)
        demapper = grgsm.tch_h_chans_demapper(ts, sub)
        tch = grgsm.burst_sink()
        acch = grgsm.burst_sink()

        self.tb.msg_connect(src, "out", demapper, "bursts")
        self.tb.msg_connect(demapper, "tch_bursts", tch, "in")
        self.tb.msg_connect(demapper, "acch_bursts", acch, "in")

        self.tb.run()

        self.assertEqual([], list(tch.get_burst_data()))

        return list(acch.get_burst_data())
コード例 #2
0
    def test_hr_demapper_sub0(self):
        """
            TCH/F Half Rate demapper sub-channel 0
        """
        frames = [
            0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
            19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29
        ]
        timeslots = [
            3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
            3, 3, 3, 3, 3, 3, 3, 3
        ]
        b = self.bursts
        bursts = [
            b[0],
            b[1],
            b[2],
            b[3],
            b[4],
            b[5],
            b[6],
            b[7],
            b[8],
            b[9],
            b[10],
            b[11],
            b[12],  #12 - sacch
            b[13],
            b[14],
            b[15],
            b[16],
            b[17],
            b[18],
            b[19],
            b[20],
            b[21],
            b[22],
            b[23],
            b[24],
            b[25],  #25 - idle
            b[26],
            b[27],
            b[28],
            b[29],
            b[30]
        ]

        src = grgsm.burst_source(frames, timeslots, bursts)
        demapper = grgsm.tch_h_chans_demapper(3, 0)
        tch = grgsm.burst_sink()
        acch = grgsm.burst_sink()

        self.tb.msg_connect(src, "out", demapper, "bursts")
        self.tb.msg_connect(demapper, "tch_bursts", tch, "in")
        self.tb.msg_connect(demapper, "acch_bursts", acch, "in")

        self.tb.run()

        self.assertEqual([
            b[0],
            b[2],
            b[4],
            b[6],
            b[4],
            b[6],
            b[8],
            b[10],
            b[8],
            b[10],
            b[13],
            b[15],
            b[13],
            b[15],
            b[17],
            b[19],
            b[17],
            b[19],
            b[21],
            b[23],
            b[21],
            b[23],
            b[26],
            b[28],
        ], list(tch.get_burst_data()))

        self.assertEqual([], list(acch.get_burst_data()))