From c895bf2f22e98f94e0260e9d8cf813aaeb4c1ad7 Mon Sep 17 00:00:00 2001 From: Vasil Velichkov Date: Wed, 24 Jul 2019 22:42:40 +0300 Subject: Fix uplink sub_slot assignment in the sdcch8 demapper block 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) Fixes qa_gsm_sdcch8_demapper.test_uplink test Change-Id: I29e9055805c8478010c51ceb40f86ba3aed5ecab --- hier_blocks/demapping/gsm_sdcch8_demapper.grc | 2 +- python/demapping/gsm_sdcch8_demapper.py | 148 +++++++++++++++++++++++++- python/qa_gsm_sdcch8_demapper.py | 1 - 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 @@ uplink_subslots - [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] + [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] 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 -- cgit v1.2.3