blob: dc23a061f75ff37d3dc36f5734342c4df7f7a66e [file] [log] [blame]
Piotr Krysik773a1942016-05-20 12:45:54 +02001# -*- coding: utf-8 -*-
2##################################################
3# GNU Radio Python Flow Graph
4# Title: BCCH + CCCH + SDCCH/4 demapper
5# Author: Piotr Krysik
6# Description: Demapper for BCCH + CCCH + SDCCH/4 + SACCH/C4 control channels. This corresponds to channel combination v specified in GSM 05.02, section 6.4
Piotr Krysik19cba472016-05-21 09:24:34 +02007# Generated: Sat May 21 09:22:50 2016
Piotr Krysik773a1942016-05-20 12:45:54 +02008##################################################
9
10from gnuradio import gr
11from gnuradio.filter import firdes
12import grgsm
13
14
15class gsm_bcch_ccch_sdcch4_demapper(grgsm.hier_block):
16
17 def __init__(self, timeslot_nr=0):
18 grgsm.hier_block.__init__(
19 self, "BCCH + CCCH + SDCCH/4 demapper",
20 gr.io_signature(0, 0, 0),
21 gr.io_signature(0, 0, 0),
22 )
23 self.message_port_register_hier_in("bursts")
24 self.message_port_register_hier_out("bursts")
25
26 ##################################################
27 # Parameters
28 ##################################################
29 self.timeslot_nr = timeslot_nr
30
31 ##################################################
32 # Blocks
33 ##################################################
34 self.gsm_universal_ctrl_chans_demapper_0 = grgsm.universal_ctrl_chans_demapper(timeslot_nr, ([0,0,2,2,2,2,6,6,6,6,0,0,12,12,12,12,16,16,16,16,0,0,22,22,22,22,26,26,26,26,0,0,32,32,32,32,36,36,36,36,0,0,42,42,42,42,46,46,46,46,0,]), ([0,0,1,1,1,1,2,2,2,2,0,0,2,2,2,2,2,2,2,2,0,0,7,7,7,7,7,7,7,7,0,0,7,7,7,7,7,7,7,7,0,0,135,135,135,135,135,135,135,135,0]), ([0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,0,0,0,0,0,0,1,1,1,1,0,0,2,2,2,2,3,3,3,3,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,0,0,0,0,0,0,1,1,1,1,0,0,2,2,2,2,3,3,3,3,0,0,2,2,2,2,3,3,3,3,0,]), ([0,0,0,0,0,0,6,6,6,6,10,10,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,37,37,37,41,41,41,41,0,0,47,47,47,47,]), ([7,7,7,7,0,0,135,135,135,135,135,135,135,135,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,7,7,7,7,7,0,0,7,7,7,7,]), ([0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,0,0,3,3,3,3,0,0,0,0,0,0,2,2,2,2,3,3,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,0,0,3,3,3,3,]))
35
36 ##################################################
37 # Connections
38 ##################################################
39 self.msg_connect((self.gsm_universal_ctrl_chans_demapper_0, 'bursts'), (self, 'bursts'))
40 self.msg_connect((self, 'bursts'), (self.gsm_universal_ctrl_chans_demapper_0, 'bursts'))
41
42 def get_timeslot_nr(self):
43 return self.timeslot_nr
44
45 def set_timeslot_nr(self, timeslot_nr):
46 self.timeslot_nr = timeslot_nr