diff options
Diffstat (limited to 'grc')
-rw-r--r-- | grc/decoding/CMakeLists.txt | 4 | ||||
-rw-r--r-- | grc/decoding/gsm_tch_h_decoder.xml | 92 | ||||
-rw-r--r-- | grc/gsm_block_tree.xml | 1 |
3 files changed, 96 insertions, 1 deletions
diff --git a/grc/decoding/CMakeLists.txt b/grc/decoding/CMakeLists.txt index 2f6eada..d488f21 100644 --- a/grc/decoding/CMakeLists.txt +++ b/grc/decoding/CMakeLists.txt @@ -19,5 +19,7 @@ install(FILES gsm_control_channels_decoder.xml - gsm_tch_f_decoder.xml DESTINATION share/gnuradio/grc/blocks + gsm_tch_f_decoder.xml + gsm_tch_h_decoder.xml + DESTINATION share/gnuradio/grc/blocks ) diff --git a/grc/decoding/gsm_tch_h_decoder.xml b/grc/decoding/gsm_tch_h_decoder.xml new file mode 100644 index 0000000..895104e --- /dev/null +++ b/grc/decoding/gsm_tch_h_decoder.xml @@ -0,0 +1,92 @@ +<?xml version="1.0"?> +<block> + <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> + + <param> + <name>sub-channel number</name> + <key>sub_channel</key> + <value>0</value> + <type>int</type> + <option> + <name>sub-channel 0</name> + <key>0</key> + </option> + <option> + <name>sub-channel 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> + </param> + <param> + <name>Voice boundary detection</name> + <key>boundary_check</key> + <value>False</value> + <type>bool</type> + <option> + <name>False</name> + <key>False</key> + </option> + <option> + <name>True</name> + <key>True</key> + </option> + </param> + <check>$sub_channel() > -1 and $sub_channel() < 2</check> + <sink> + <name>bursts</name> + <type>message</type> + </sink> + <source> + <name>msgs</name> + <type>message</type> + <optional>1</optional> + </source> + <source> + <name>voice</name> + <type>message</type> + <optional>1</optional> + </source> + + <doc> +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 +- the framenumber is less then the framenumber of a "Release" message + </doc> + +</block> diff --git a/grc/gsm_block_tree.xml b/grc/gsm_block_tree.xml index 786d7d2..b056003 100644 --- a/grc/gsm_block_tree.xml +++ b/grc/gsm_block_tree.xml @@ -50,6 +50,7 @@ <name>Decoding</name> <block>gsm_control_channels_decoder</block> <block>gsm_tch_f_decoder</block> + <block>gsm_tch_h_decoder</block> </cat> <cat> <name>Flow control</name> |