aboutsummaryrefslogtreecommitdiffstats
path: root/grc
diff options
context:
space:
mode:
authorVasil Velichkov <vvvelichkov@gmail.com>2018-05-06 02:13:36 +0300
committerPiotr Krysik <ptrkrysik@gmail.com>2018-12-29 00:52:05 +0100
commit7f259fdb68025d6e7b3cfc36c3958d9c6e5f60b8 (patch)
tree020b7e2f240dbeb31182cade86e5f62ac1863c73 /grc
parent0ccec373b3d68825d02b4494b3e2c90bda86a471 (diff)
Add TCH/H decoder block with AMR multirate support
Add new TCHH channel mode Add two new optional arguments -m CHAN_MODE, --mode=CHAN_MODE Channel mode. Valid options are 'BCCH' (Non-combined C0), 'BCCH_SDCCH4'(Combined C0), 'SDCCH8' (Stand-alone control channel) 'TCHF' (Traffic Channel, Full rate), 'TCHH' (Traffic Channel, Half rate) --sub-channel=TCH_H_CHANNEL TCH/H sub-channel. [default=0] --multi-rate=MULTI_RATE The MultiRrate configuration element from the Assigment Command message. Example: 28111a40. See 3GPP TS 44.018 - 10.5.2.21aa MultiRate configuration Example: grgsm_decode -m TCHH --sub-channel 0 --multi-rate 2811 -o voice.amr ...
Diffstat (limited to 'grc')
-rw-r--r--grc/decoding/CMakeLists.txt4
-rw-r--r--grc/decoding/gsm_tch_h_decoder.xml92
-rw-r--r--grc/gsm_block_tree.xml1
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() &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>
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>