diff options
author | Vasil Velichkov <vvvelichkov@gmail.com> | 2019-03-13 20:53:24 +0200 |
---|---|---|
committer | Piotr Krysik <ptrkrysik@gmail.com> | 2019-07-18 10:31:27 +0200 |
commit | 807e06139b53ed7e9ca142cf349f93c17a9fe70c (patch) | |
tree | c6b68c776ec94b20bd7f02eb69370b38c8330647 | |
parent | e11b1d371069d39047d1a9695887b86d509f4b5c (diff) |
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
-rwxr-xr-x | apps/grgsm_decode | 2 | ||||
-rw-r--r-- | grc/decoding/gsm_tch_h_decoder.xml | 48 | ||||
-rw-r--r-- | grc/demapping/gsm_tch_h_chans_demapper.xml | 15 | ||||
-rw-r--r-- | 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 @@ <name>TCH/H decoder</name> <key>gsm_tch_h_decoder</key> <import>import grgsm</import> - <make>grgsm.tch_h_decoder($sub_channel, $mode, $boundary_check)</make> + <make>grgsm.tch_h_decoder($sub_channel, $multi_rate, $boundary_check)</make> <param> - <name>sub-channel number</name> + <name>Sub-channel number</name> <key>sub_channel</key> <value>0</value> <type>int</type> + <hide>none</hide> <option> - <name>sub-channel 0</name> + <name>0</name> <key>0</key> </option> <option> - <name>sub-channel 1</name> + <name>1</name> <key>1</key> </option> </param> <param> - <name>TCH/H coding mode</name> - <key>mode</key> - <type>enum</type> - <option> - <name>GSM-HS</name> - <key>grgsm.TCH_HS</key> - </option> - <option> - <name>GSM-AMR 7.95</name> - <key>grgsm.TCH_AHS7_95</key> - </option> - <option> - <name>GSM-AMR 7.4</name> - <key>grgsm.TCH_AHS7_4</key> - </option> - <option> - <name>GSM-AMR 6.7</name> - <key>grgsm.TCH_AHS6_7</key> - </option> - <option> - <name>GSM-AMR 5.9</name> - <key>grgsm.TCH_AHS5_9</key> - </option> - <option> - <name>GSM-AMR 5.15</name> - <key>grgsm.TCH_AHS5_15</key> - </option> - <option> - <name>GSM-AMR 4.75</name> - <key>grgsm.TCH_AHS4_75</key> - </option> + <name>MultiRate configuration</name> + <key>multi_rate</key> + <type>string</type> </param> <param> <name>Voice boundary detection</name> @@ -83,6 +56,11 @@ </source> <doc> +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 @@ <key>timeslot_nr</key> <value>2</value> <type>int</type> - <hide>part</hide> + <hide>none</hide> </param> <param> - <name>TCH/H Channel</name> + <name>Sub-channel number</name> <key>tch_h_channel</key> <value>0</value> <type>int</type> - <hide>#if $tch_type() == 0 then 'all' else 'none'#</hide> + <hide>none</hide> + <option> + <name>0</name> + <key>0</key> + </option> + <option> + <name>1</name> + <key>1</key> + </option> </param> <check>$tch_h_channel() > -1 and $tch_h_channel() < 2</check> <sink> <name>bursts</name> <type>message</type> - <optional>1</optional> </sink> <source> <name>tch_bursts</name> 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) |