aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVasil Velichkov <vvvelichkov@gmail.com>2019-03-13 20:53:24 +0200
committerVasil Velichkov <vvvelichkov@gmail.com>2019-03-19 17:36:28 +0200
commit3900d3d2ca513bc76500c2668e2256f48b833862 (patch)
tree7a7fea577847cfae7bca46644f478eaa264d628f
parent3d7c6835d47e84f9fdf28cc0c2dd9528eb128d9f (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-xapps/grgsm_decode2
-rw-r--r--grc/decoding/gsm_tch_h_decoder.xml48
-rw-r--r--grc/demapping/gsm_tch_h_chans_demapper.xml15
-rw-r--r--python/CMakeLists.txt1
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() &gt; -1 and $tch_h_channel() &lt; 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)