aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--hier_blocks/demapping/gsm_sdcch8_demapper.grc2
-rw-r--r--python/demapping/gsm_sdcch8_demapper.py148
-rw-r--r--python/qa_gsm_sdcch8_demapper.py1
3 files changed, 148 insertions, 3 deletions
diff --git a/hier_blocks/demapping/gsm_sdcch8_demapper.grc b/hier_blocks/demapping/gsm_sdcch8_demapper.grc
index d9496cb..8a1f509 100644
--- a/hier_blocks/demapping/gsm_sdcch8_demapper.grc
+++ b/hier_blocks/demapping/gsm_sdcch8_demapper.grc
@@ -145,7 +145,7 @@
</param>
<param>
<key>uplink_subslots</key>
- <value>[1,1,1,1,2,2,2,2,3,3,3,3,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,0,0,0,0,5,5,5,5,6,6,6,6,7,7,7,7,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,4,4,4,4]</value>
+ <value>[5,5,5,5,6,6,6,6,7,7,7,7,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,4,4,4,4]</value>
</param>
</block>
<block>
diff --git a/python/demapping/gsm_sdcch8_demapper.py b/python/demapping/gsm_sdcch8_demapper.py
index 3d3a5a0..b412594 100644
--- a/python/demapping/gsm_sdcch8_demapper.py
+++ b/python/demapping/gsm_sdcch8_demapper.py
@@ -51,7 +51,153 @@ class gsm_sdcch8_demapper(grgsm.hier_block):
##################################################
# Blocks
##################################################
- self.gsm_universal_ctrl_chans_demapper_0 = grgsm.universal_ctrl_chans_demapper(timeslot_nr, ([0,0,0,0,4,4,4,4,8,8,8,8,12,12,12,12,16,16,16,16,20,20,20,20,24,24,24,24,28,28,28,28,32,32,32,32,36,36,36,36,40,40,40,40,44,44,44,44,0,0,0]), ([8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,136,0,0,0]), ([0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,0,0,0]), ([0,0,0,0,4,4,4,4,8,8,8,8,0,0,0,15,15,15,15,19,19,19,19,23,23,23,23,27,27,27,27,31,31,31,31,35,35,35,35,39,39,39,39,43,43,43,43,47,47,47,47]), ([136,136,136,136,136,136,136,136,136,136,136,136,0,0,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,136,136,136,136]), ([1,1,1,1,2,2,2,2,3,3,3,3,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,0,0,0,0,5,5,5,5,6,6,6,6,7,7,7,7,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,4,4,4,4]))
+
+ # 3GPP TS 45.002 version 15.1.0 Release 15
+ # Table 4 : Mapping of logical channels onto physical channels (see subclauses 6.3, 6.4, 6.5)
+ # SDCCH/8 0 D 0 ... 7 C0 ... Cn NB1 51 B (0 ... 3)
+ # U B (15 ... 18)
+ # 1 D B (4 ... 7)
+ # U B (19 ... 22)
+ # 2 D B (8 ... 11)
+ # U B (23 ... 26)
+ # 3 D B (12 ... 15)
+ # U B (27 ... 30)
+ # 4 D B (16 ... 19)
+ # U B (31 ... 34)
+ # 5 D B (20 ... 23)
+ # U B (35 ... 38)
+ # 6 D B (24 ... 27)
+ # U B (39 ... 42)
+ # 7 D B (28 ... 31)
+ # U B (43 ... 46)
+ # SACCH/C8 0 D 0 ... 7 C0 ... Cn NB3 102 B (32 ... 35)
+ # U B (47 ... 50)
+ # 1 D B (36 ... 39)
+ # U B (51 ... 54)
+ # 2 D B (40 ... 43)
+ # U B (55 ... 58)
+ # 3 D B (44 ... 47)
+ # U B (59 ... 62)
+ # 4 D B (83 ... 86)
+ # U B (98 ... 101)
+ # 5 D B (87 ... 90)
+ # U B (0 ... 3)
+ # 6 D B (91 ... 94)
+ # U B (4 ... 7)
+ # 7 D B (95 ... 98)
+ # U B (8 ... 11)
+ self.gsm_universal_ctrl_chans_demapper_0 = grgsm.universal_ctrl_chans_demapper(
+ timeslot_nr, ([ #downlink
+ 0,0,0,0,
+ 4,4,4,4,
+ 8,8,8,8,
+ 12,12,12,12,
+ 16,16,16,16,
+ 20,20,20,20,
+ 24,24,24,24,
+ 28,28,28,28,
+ 32,32,32,32,
+ 36,36,36,36,
+ 40,40,40,40,
+ 44,44,44,44,
+ 0,0,0
+ ]), ([
+ 8,8,8,8,
+ 8,8,8,8,
+ 8,8,8,8,
+ 8,8,8,8,
+ 8,8,8,8,
+ 8,8,8,8,
+ 8,8,8,8,
+ 8,8,8,8,
+ 136,136,136,136,
+ 136,136,136,136,
+ 136,136,136,136,
+ 136,136,136,136,
+ 0,0,0
+ ]), ([
+ 0,0,0,0,
+ 1,1,1,1,
+ 2,2,2,2,
+ 3,3,3,3,
+ 4,4,4,4,
+ 5,5,5,5,
+ 6,6,6,6,
+ 7,7,7,7,
+ 0,0,0,0,
+ 1,1,1,1,
+ 2,2,2,2,
+ 3,3,3,3,
+ 0,0,0,0,
+ 0,0,0,
+ 1,1,1,1,
+ 2,2,2,2,
+ 3,3,3,3,
+ 4,4,4,4,
+ 5,5,5,5,
+ 6,6,6,6,
+ 7,7,7,7,
+ 4,4,4,4,
+ 5,5,5,5,
+ 6,6,6,6,
+ 7,7,7,7,
+ 0,0,0
+ ]), ([ #uplink
+ 0,0,0,0,
+ 4,4,4,4,
+ 8,8,8,8,
+ 0,0,0,
+ 15,15,15,15,
+ 19,19,19,19,
+ 23,23,23,23,
+ 27,27,27,27,
+ 31,31,31,31,
+ 35,35,35,35,
+ 39,39,39,39,
+ 43,43,43,43,
+ 47,47,47,47
+ ]), ([
+ 136,136,136,136,
+ 136,136,136,136,
+ 136,136,136,136,
+ 0,0,0,
+ 8,8,8,8,
+ 8,8,8,8,
+ 8,8,8,8,
+ 8,8,8,8,
+ 8,8,8,8,
+ 8,8,8,8,
+ 8,8,8,8,
+ 8,8,8,8,
+ 136,136,136,136
+ ]), ([
+ 5,5,5,5,
+ 6,6,6,6,
+ 7,7,7,7,
+ 0,0,0,
+ 0,0,0,0,
+ 1,1,1,1,
+ 2,2,2,2,
+ 3,3,3,3,
+ 4,4,4,4,
+ 5,5,5,5,
+ 6,6,6,6,
+ 7,7,7,7,
+ 0,0,0,0,
+ 1,1,1,1,
+ 2,2,2,2,
+ 3,3,3,3,
+ 0,0,0,
+ 0,0,0,0,
+ 1,1,1,1,
+ 2,2,2,2,
+ 3,3,3,3,
+ 4,4,4,4,
+ 5,5,5,5,
+ 6,6,6,6,
+ 7,7,7,7,
+ 4,4,4,4
+ ]))
##################################################
# Connections
diff --git a/python/qa_gsm_sdcch8_demapper.py b/python/qa_gsm_sdcch8_demapper.py
index 21841a7..cc05267 100644
--- a/python/qa_gsm_sdcch8_demapper.py
+++ b/python/qa_gsm_sdcch8_demapper.py
@@ -135,7 +135,6 @@ class qa_gsm_sdcch8_demapper (gr_unittest.TestCase):
0, 0, 0, 0,
], list(dst.get_sub_slots()))
- @unittest.expectedFailure
def test_uplink (self):
"""
BCCH_CCCH_SDCCH4 demapper uplink test