From c5bb436cdad352880741ce1496e45a66cfc06f8c Mon Sep 17 00:00:00 2001 From: Vasil Velichkov Date: Wed, 13 Mar 2019 20:53:24 +0200 Subject: Fix the TCH/H decoder and demapper XML definitions - The second argument of tch_h_decoder constructor is a string that accepts the value of MultiRate configuration element and not an enum like the tch_f_decoder decoder. - Make the demapper's burst sink required. - Make all parameters visible. - Rename the TCH/H Channel parameter to Sub-channel number. - Add the qa_tch_h_decoder test in the CMakeLists.txt - Fix several typos Change-Id: I92d4f49955c634df7d76f17cfb58d7106846c1bd --- apps/grgsm_decode | 2 +- grc/decoding/gsm_tch_h_decoder.xml | 48 ++++++++---------------------- grc/demapping/gsm_tch_h_chans_demapper.xml | 15 +++++++--- python/CMakeLists.txt | 1 + 4 files changed, 26 insertions(+), 40 deletions(-) diff --git a/apps/grgsm_decode b/apps/grgsm_decode index 3bc0db3..4bd1d95 100755 --- a/apps/grgsm_decode +++ b/apps/grgsm_decode @@ -344,7 +344,7 @@ if __name__ == '__main__': tch_options.add_option("--sub-channel", dest="tch_h_channel", default="0", type='intx', help="TCH/H sub-channel. [default=0]") tch_options.add_option("--multi-rate", dest="multi_rate", default="", type='string', - help="The MultiRrate configuration element from the Assignment Command message. " + help="The MultiRate configuration element from the Assignment Command message. " "Example: 28111a40. See 3GPP TS 44.018 - 10.5.2.21aa MultiRate configuration") tch_options.add_option("--voice-boundary", dest="enable_voice_boundary_detection", action="store_true", default=False, help="Enable voice boundary detection for traffic channels. This can help reduce noice in the output.") diff --git a/grc/decoding/gsm_tch_h_decoder.xml b/grc/decoding/gsm_tch_h_decoder.xml index 895104e..3936336 100644 --- a/grc/decoding/gsm_tch_h_decoder.xml +++ b/grc/decoding/gsm_tch_h_decoder.xml @@ -3,54 +3,27 @@ TCH/H decoder gsm_tch_h_decoder import grgsm - grgsm.tch_h_decoder($sub_channel, $mode, $boundary_check) + grgsm.tch_h_decoder($sub_channel, $multi_rate, $boundary_check) - sub-channel number + Sub-channel number sub_channel 0 int + none - TCH/H coding mode - mode - enum - - - - - - - + MultiRate configuration + multi_rate + string Voice boundary detection @@ -83,6 +56,11 @@ +The MultiRate configuration string should contains the hex string from the +MultiRate configuration element from the Assignment Command message. +Example: 28111a40. +See 3GPP TS 44.018 - 10.5.2.21aa MultiRate configuratio + If "Voice boundary detection" is enabled, then only bursts are decoded as voice where - the framenumber is greater then the framenumber of a received "Connect" or "Connect Acknowlegde" message, and diff --git a/grc/demapping/gsm_tch_h_chans_demapper.xml b/grc/demapping/gsm_tch_h_chans_demapper.xml index f2bd67f..52148f5 100644 --- a/grc/demapping/gsm_tch_h_chans_demapper.xml +++ b/grc/demapping/gsm_tch_h_chans_demapper.xml @@ -10,22 +10,29 @@ timeslot_nr 2 int - part + none - TCH/H Channel + Sub-channel number tch_h_channel 0 int - #if $tch_type() == 0 then 'all' else 'none'# + none + + $tch_h_channel() > -1 and $tch_h_channel() < 2 bursts message - 1 tch_bursts diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt index 22c88a9..21f2507 100644 --- a/python/CMakeLists.txt +++ b/python/CMakeLists.txt @@ -58,6 +58,7 @@ GR_ADD_TEST(qa_burst_sdcch_subslot_filter ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_S GR_ADD_TEST(qa_burst_fnr_filter ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_burst_fnr_filter.py) GR_ADD_TEST(qa_dummy_burst_filter ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_dummy_burst_filter.py) GR_ADD_TEST(qa_tch_f_decoder ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_tch_f_decoder.py) +GR_ADD_TEST(qa_tch_h_decoder ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_tch_h_decoder.py) GR_ADD_TEST(qa_tch_f_chans_demapper ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_tch_f_chans_demapper.py) GR_ADD_TEST(qa_tch_h_chans_demapper ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_tch_h_chans_demapper.py) #GR_ADD_TEST(qa_msg_to_tag ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qa_msg_to_tag.py) -- cgit v1.2.3