From fa184a9447a90aefde2ca0dea1347b702551015d Mon Sep 17 00:00:00 2001 From: Vasil Velichkov Date: Thu, 25 Jul 2019 22:43:33 +0300 Subject: Fix uplink sub_slot and sub_types assignment in the sdcch4 and bcch_ccch demappers blocks Add support for RACH bursts although they are not yet supported in the receiver and control channel decoder blocks. 3GPP TS 45.002 version 15.1.0 Release 15 Table 3 : Mapping of logical channels onto physical channels (see subclauses 6.3, 6.4, 6.5) Figure 8a: TDMA frame mapping for FCCH + SCH + BCCH + CCCH Fixes the following tests: qa_gsm_bcch_ccch_demapper.test_uplink qa_gsm_bcch_ccch_sdcch4_demapper.test_uplink Change-Id: Ia6b3070c1085bcdda6d98fd94a89c6e0982e2aec --- lib/demapping/universal_ctrl_chans_demapper_impl.cc | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'lib/demapping/universal_ctrl_chans_demapper_impl.cc') diff --git a/lib/demapping/universal_ctrl_chans_demapper_impl.cc b/lib/demapping/universal_ctrl_chans_demapper_impl.cc index a6ab956..94e8648 100644 --- a/lib/demapping/universal_ctrl_chans_demapper_impl.cc +++ b/lib/demapping/universal_ctrl_chans_demapper_impl.cc @@ -128,9 +128,6 @@ namespace gr { frame_numbers = d_downlink_frame_numbers; bursts = d_downlink_bursts; } - - uint32_t fn51_start = starts_fn_mod51[fn_mod51]; - uint32_t fn51_stop = fn51_start + 3; //set type new_header->type = GSMTAP_TYPE_UM; @@ -141,7 +138,16 @@ namespace gr { new_header->sub_type = ch_type; } new_header->sub_slot = subslots[fn_mod102]; - + + if (ch_type == GSMTAP_CHANNEL_RACH) + { + message_port_pub(pmt::mp("bursts"), burst_out); + return; + } + + uint32_t fn51_start = starts_fn_mod51[fn_mod51]; + uint32_t fn51_stop = fn51_start + 3; + if(fn_mod51>=fn51_start && fn_mod51<=fn51_stop) { uint32_t ii = fn_mod51 - fn51_start; -- cgit v1.2.3