aboutsummaryrefslogtreecommitdiffstats
path: root/grc/decoding
diff options
context:
space:
mode:
Diffstat (limited to 'grc/decoding')
-rw-r--r--grc/decoding/CMakeLists.txt4
-rw-r--r--grc/decoding/gsm_tch_h_decoder.xml92
2 files changed, 95 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() &gt; -1 and $sub_channel() &lt; 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>