summaryrefslogtreecommitdiff
path: root/grc/blocks
diff options
context:
space:
mode:
Diffstat (limited to 'grc/blocks')
-rw-r--r--grc/blocks/Makefile.am8
-rw-r--r--grc/blocks/block_tree.xml8
-rw-r--r--grc/blocks/gr_ctcss_squelch_ff.xml79
-rw-r--r--grc/blocks/trellis_encoder_xx.xml74
-rw-r--r--grc/blocks/trellis_metrics_x.xml85
-rw-r--r--grc/blocks/trellis_permutation.xml74
-rw-r--r--grc/blocks/trellis_siso_combined_f.xml112
-rw-r--r--grc/blocks/trellis_siso_f.xml85
-rw-r--r--grc/blocks/trellis_viterbi_combined_xx.xml123
-rw-r--r--grc/blocks/trellis_viterbi_x.xml66
10 files changed, 81 insertions, 633 deletions
diff --git a/grc/blocks/Makefile.am b/grc/blocks/Makefile.am
index bed84adc8..9813154bd 100644
--- a/grc/blocks/Makefile.am
+++ b/grc/blocks/Makefile.am
@@ -80,6 +80,7 @@ dist_ourdata_DATA = \
gr_conjugate_cc.xml \
gr_copy.xml \
gr_cpfsk_bc.xml \
+ gr_ctcss_squelch_ff.xml \
gr_dc_blocker.xml \
gr_cpmmod_bc.xml \
gr_decode_ccsds_27_fb.xml \
@@ -195,13 +196,6 @@ dist_ourdata_DATA = \
parameter.xml \
random_source_x.xml \
root_raised_cosine_filter.xml \
- trellis_encoder_xx.xml \
- trellis_metrics_x.xml \
- trellis_permutation.xml \
- trellis_siso_combined_f.xml \
- trellis_siso_f.xml \
- trellis_viterbi_combined_xx.xml \
- trellis_viterbi_x.xml \
variable.xml \
variable_config.xml \
variable_function_probe.xml \
diff --git a/grc/blocks/block_tree.xml b/grc/blocks/block_tree.xml
index c729d4903..ea7d744d4 100644
--- a/grc/blocks/block_tree.xml
+++ b/grc/blocks/block_tree.xml
@@ -145,6 +145,7 @@
<block>gr_simple_squelch_cc</block>
<block>blks2_standard_squelch</block>
<block>gr_pwr_squelch_xx</block>
+ <block>gr_ctcss_squelch_ff</block>
<block>gr_threshold_ff</block>
</cat>
<cat>
@@ -222,13 +223,6 @@
<name>Error Correction</name>
<cat>
<name>Trellis</name>
- <block>trellis_encoder_xx</block>
- <block>trellis_metrics_x</block>
- <block>trellis_permutation</block>
- <block>trellis_siso_combined_f</block>
- <block>trellis_siso_f</block>
- <block>trellis_viterbi_combined_xx</block>
- <block>trellis_viterbi_x</block>
</cat>
<block>gr_encode_ccsds_27_bb</block>
diff --git a/grc/blocks/gr_ctcss_squelch_ff.xml b/grc/blocks/gr_ctcss_squelch_ff.xml
new file mode 100644
index 000000000..a34c75374
--- /dev/null
+++ b/grc/blocks/gr_ctcss_squelch_ff.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0"?>
+<!--
+#
+# Copyright 2011 Free Software Foundation, Inc.
+#
+# This file is part of GNU Radio
+#
+# GNU Radio is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+#
+# GNU Radio is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Radio; see the file COPYING. If not, write to
+# the Free Software Foundation, Inc., 51 Franklin Street,
+# Boston, MA 02110-1301, USA.
+-->
+
+<!--
+###################################################
+##CTCSS Squelch
+###################################################
+ -->
+<block>
+ <name>CTCSS Squelch</name>
+ <key>gr_ctcss_squelch_ff</key>
+ <import>from gnuradio import gr</import>
+ <make>gr.ctcss_squelch_ff($rate, $freq, $level, $len, $ramp, $gate)</make>
+ <callback>set_level($level)</callback>
+ <param>
+ <name>Sampling Rate (Hz)</name>
+ <key>rate</key>
+ <value>samp_rate</value>
+ <type>real</type>
+ </param>
+ <param>
+ <name>Tone Frequency</name>
+ <key>freq</key>
+ <value>100.0</value>
+ <type>real</type>
+ </param>
+ <param>
+ <name>Level</name>
+ <key>level</key>
+ <value>0.01</value>
+ <type>real</type>
+ </param>
+ <param>
+ <name>Length</name>
+ <key>len</key>
+ <value>0</value>
+ <type>int</type>
+ </param>
+ <param>
+ <name>Ramp</name>
+ <key>ramp</key>
+ <value>0</value>
+ <type>int</type>
+ </param>
+ <param>
+ <name>Gate</name>
+ <key>gate</key>
+ <value>False</value>
+ <type>bool</type>
+ </param>
+ <sink>
+ <name>in</name>
+ <type>float</type>
+ </sink>
+ <source>
+ <name>out</name>
+ <type>float</type>
+ </source>
+</block>
diff --git a/grc/blocks/trellis_encoder_xx.xml b/grc/blocks/trellis_encoder_xx.xml
deleted file mode 100644
index 74a8cc346..000000000
--- a/grc/blocks/trellis_encoder_xx.xml
+++ /dev/null
@@ -1,74 +0,0 @@
-<?xml version="1.0"?>
-<!--
-###################################################
-##Trellis Encoder
-###################################################
- -->
-<block>
- <name>Trellis Encoder</name>
- <key>trellis_encoder_xx</key>
- <import>from gnuradio import trellis</import>
- <make>trellis.encoder_$(type)(trellis.fsm($fsm_args), $init_state)</make>
- <param>
- <name>Type</name>
- <key>type</key>
- <type>enum</type>
- <option>
- <name>Byte->Byte</name>
- <key>bb</key>
- <opt>input:byte</opt>
- <opt>output:byte</opt>
- </option>
- <option>
- <name>Byte->Short</name>
- <key>bs</key>
- <opt>input:byte</opt>
- <opt>output:short</opt>
- </option>
- <option>
- <name>Byte->Int</name>
- <key>bi</key>
- <opt>input:byte</opt>
- <opt>output:int</opt>
- </option>
- <option>
- <name>Short->Short</name>
- <key>ss</key>
- <opt>input:short</opt>
- <opt>output:short</opt>
- </option>
- <option>
- <name>Short->Int</name>
- <key>si</key>
- <opt>input:short</opt>
- <opt>output:int</opt>
- </option>
- <option>
- <name>Int->Int</name>
- <key>ii</key>
- <opt>input:int</opt>
- <opt>output:int</opt>
- </option>
- </param>
- <param>
- <name>FSM Args</name>
- <key>fsm_args</key>
- <type>raw</type>
- </param>
- <param>
- <name>Initial State</name>
- <key>init_state</key>
- <type>int</type>
- </param>
- <sink>
- <name>in</name>
- <type>$type.input</type>
- </sink>
- <source>
- <name>out</name>
- <type>$type.output</type>
- </source>
- <doc>
-The fsm arguments are passed directly to the trellis.fsm() constructor.
- </doc>
-</block>
diff --git a/grc/blocks/trellis_metrics_x.xml b/grc/blocks/trellis_metrics_x.xml
deleted file mode 100644
index 2016a34c2..000000000
--- a/grc/blocks/trellis_metrics_x.xml
+++ /dev/null
@@ -1,85 +0,0 @@
-<?xml version="1.0"?>
-<!--
-###################################################
-##Trellis Metrics
-###################################################
- -->
-<block>
- <name>Trellis Metrics</name>
- <key>trellis_metrics_x</key>
- <import>from gnuradio import trellis</import>
- <make>trellis.metrics_$(type)($card, $dim, $table, $metric_type)</make>
- <callback>set_TABLE($table)</callback>
- <param>
- <name>Type</name>
- <key>type</key>
- <type>enum</type>
- <option>
- <name>Complex</name>
- <key>c</key>
- <opt>io:complex</opt>
- <opt>table:complex_vector</opt>
- </option>
- <option>
- <name>Float</name>
- <key>f</key>
- <opt>io:float</opt>
- <opt>table:real_vector</opt>
- </option>
- <option>
- <name>Int</name>
- <key>i</key>
- <opt>io:int</opt>
- <opt>table:int_vector</opt>
- </option>
- <option>
- <name>Short</name>
- <key>s</key>
- <opt>io:short</opt>
- <opt>table:int_vector</opt>
- </option>
- </param>
- <param>
- <name>Output Cardinality</name>
- <key>card</key>
- <type>int</type>
- </param>
- <param>
- <name>Dimensionality</name>
- <key>dim</key>
- <type>int</type>
- </param>
- <param>
- <name>Constellation</name>
- <key>table</key>
- <type>$type.table</type>
- </param>
- <param>
- <name>Metric Type</name>
- <key>metric_type</key>
- <type>enum</type>
- <option>
- <name>Euclidean</name>
- <key>trellis.TRELLIS_EUCLIDEAN</key>
- </option>
- <option>
- <name>Hard Symbol</name>
- <key>trellis.TRELLIS_HARD_SYMBOL</key>
- </option>
- <option>
- <name>Hard Bit</name>
- <key>trellis.TRELLIS_HARD_BIT</key>
- </option>
- </param>
- <sink>
- <name>in</name>
- <type>$type.io</type>
- </sink>
- <source>
- <name>out</name>
- <type>float</type>
- </source>
- <doc>
-Generate metrics required for Viterbi or SISO algorithms.
- </doc>
-</block>
diff --git a/grc/blocks/trellis_permutation.xml b/grc/blocks/trellis_permutation.xml
deleted file mode 100644
index 7721cc71d..000000000
--- a/grc/blocks/trellis_permutation.xml
+++ /dev/null
@@ -1,74 +0,0 @@
-<?xml version="1.0"?>
-<!--
-###################################################
-##Trellis Permutation
-###################################################
- -->
-<block>
- <name>Trellis Permutation</name>
- <key>trellis_permutation</key>
- <import>from gnuradio import trellis</import>
- <make>trellis.permutation($block_size, $table, $syms_per_block, $type.size*$vlen)</make>
- <param>
- <name>Type</name>
- <key>type</key>
- <type>enum</type>
- <option>
- <name>Complex</name>
- <key>complex</key>
- <opt>size:gr.sizeof_gr_complex</opt>
- </option>
- <option>
- <name>Float</name>
- <key>float</key>
- <opt>size:gr.sizeof_float</opt>
- </option>
- <option>
- <name>Int</name>
- <key>int</key>
- <opt>size:gr.sizeof_int</opt>
- </option>
- <option>
- <name>Short</name>
- <key>short</key>
- <opt>size:gr.sizeof_short</opt>
- </option>
- <option>
- <name>Byte</name>
- <key>byte</key>
- <opt>size:gr.sizeof_char</opt>
- </option>
- </param>
- <param>
- <name>Block Size</name>
- <key>block_size</key>
- <type>int</type>
- </param>
- <param>
- <name>Table</name>
- <key>table</key>
- <type>int_vector</type>
- </param>
- <param>
- <name>Symbols per Block</name>
- <key>syms_per_block</key>
- <type>int</type>
- </param>
- <param>
- <name>Vec Length</name>
- <key>vlen</key>
- <value>1</value>
- <type>int</type>
- </param>
- <check>$vlen &gt; 0</check>
- <sink>
- <name>in</name>
- <type>$type</type>
- <vlen>$vlen</vlen>
- </sink>
- <source>
- <name>out</name>
- <type>$type</type>
- <vlen>$vlen</vlen>
- </source>
-</block>
diff --git a/grc/blocks/trellis_siso_combined_f.xml b/grc/blocks/trellis_siso_combined_f.xml
deleted file mode 100644
index 98874d7f4..000000000
--- a/grc/blocks/trellis_siso_combined_f.xml
+++ /dev/null
@@ -1,112 +0,0 @@
-<?xml version="1.0"?>
-<!--
-###################################################
-##Trellis SISO Combined
-###################################################
- -->
-<block>
- <name>Trellis SISO Combo</name>
- <key>trellis_siso_combined_f</key>
- <import>from gnuradio import trellis</import>
- <make>trellis.siso_combined_f(trellis.fsm($fsm_args), $block_size, $init_state, $final_state, $a_post_in, $a_post_out, $siso_type, $dim, $table, $metric_type)</make>
- <param>
- <name>FSM Args</name>
- <key>fsm_args</key>
- <type>raw</type>
- </param>
- <param>
- <name>Block Size</name>
- <key>block_size</key>
- <type>int</type>
- </param>
- <param>
- <name>Initial State</name>
- <key>init_state</key>
- <value>-1</value>
- <type>int</type>
- </param>
- <param>
- <name>Final State</name>
- <key>final_state</key>
- <value>-1</value>
- <type>int</type>
- </param>
- <param>
- <name>A-posteriori In</name>
- <key>a_post_in</key>
- <type>enum</type>
- <option>
- <name>Yes</name>
- <key>True</key>
- </option>
- <option>
- <name>No</name>
- <key>False</key>
- </option>
- </param>
- <param>
- <name>A-posteriori Out</name>
- <key>a_post_out</key>
- <type>enum</type>
- <option>
- <name>Yes</name>
- <key>True</key>
- </option>
- <option>
- <name>No</name>
- <key>False</key>
- </option>
- </param>
- <param>
- <name>SISO Type</name>
- <key>siso_type</key>
- <type>enum</type>
- <option>
- <name>Min Sum</name>
- <key>trellis.TRELLIS_MIN_SUM</key>
- </option>
- <option>
- <name>Sum Product</name>
- <key>trellis.TRELLIS_SUM_PRODUCT</key>
- </option>
- </param>
- <param>
- <name>Dimensionality</name>
- <key>dim</key>
- <type>int</type>
- </param>
- <param>
- <name>Constellation</name>
- <key>table</key>
- <type>real_vector</type>
- </param>
- <param>
- <name>Metric Type</name>
- <key>metric_type</key>
- <type>enum</type>
- <option>
- <name>Euclidean</name>
- <key>trellis.TRELLIS_EUCLIDEAN</key>
- </option>
- <option>
- <name>Hard Symbol</name>
- <key>trellis.TRELLIS_HARD_SYMBOL</key>
- </option>
- <option>
- <name>Hard Bit</name>
- <key>trellis.TRELLIS_HARD_BIT</key>
- </option>
- </param>
- <sink>
- <name>in</name>
- <type>float</type>
- </sink>
- <source>
- <name>out</name>
- <type>float</type>
- </source>
- <doc>
-BCJR Algorithm combined with metric calculation. \
-The fsm arguments are passed directly to the trellis.fsm() constructor.
- </doc>
-</block>
diff --git a/grc/blocks/trellis_siso_f.xml b/grc/blocks/trellis_siso_f.xml
deleted file mode 100644
index 2b9cfe5f7..000000000
--- a/grc/blocks/trellis_siso_f.xml
+++ /dev/null
@@ -1,85 +0,0 @@
-<?xml version="1.0"?>
-<!--
-###################################################
-##Trellis SISO
-###################################################
- -->
-<block>
- <name>Trellis SISO</name>
- <key>trellis_siso_f</key>
- <import>from gnuradio import trellis</import>
- <make>trellis.siso_f(trellis.fsm($fsm_args), $block_size, $init_state, $final_state, $a_post_in, $a_post_out, $siso_type)</make>
- <param>
- <name>FSM Args</name>
- <key>fsm_args</key>
- <type>raw</type>
- </param>
- <param>
- <name>Block Size</name>
- <key>block_size</key>
- <type>int</type>
- </param>
- <param>
- <name>Initial State</name>
- <key>init_state</key>
- <value>-1</value>
- <type>int</type>
- </param>
- <param>
- <name>Final State</name>
- <key>final_state</key>
- <value>-1</value>
- <type>int</type>
- </param>
- <param>
- <name>A-posteriori In</name>
- <key>a_post_in</key>
- <type>enum</type>
- <option>
- <name>Yes</name>
- <key>True</key>
- </option>
- <option>
- <name>No</name>
- <key>False</key>
- </option>
- </param>
- <param>
- <name>A-posteriori Out</name>
- <key>a_post_out</key>
- <type>enum</type>
- <option>
- <name>Yes</name>
- <key>True</key>
- </option>
- <option>
- <name>No</name>
- <key>False</key>
- </option>
- </param>
- <param>
- <name>SISO Type</name>
- <key>siso_type</key>
- <type>enum</type>
- <option>
- <name>Min Sum</name>
- <key>trellis.TRELLIS_MIN_SUM</key>
- </option>
- <option>
- <name>Sum Product</name>
- <key>trellis.TRELLIS_SUM_PRODUCT</key>
- </option>
- </param>
- <sink>
- <name>in</name>
- <type>float</type>
- </sink>
- <source>
- <name>out</name>
- <type>float</type>
- </source>
- <doc>
-BCJR Algorithm. \
-The fsm arguments are passed directly to the trellis.fsm() constructor.
- </doc>
-</block>
diff --git a/grc/blocks/trellis_viterbi_combined_xx.xml b/grc/blocks/trellis_viterbi_combined_xx.xml
deleted file mode 100644
index 33dcaaf73..000000000
--- a/grc/blocks/trellis_viterbi_combined_xx.xml
+++ /dev/null
@@ -1,123 +0,0 @@
-<?xml version="1.0"?>
-<!--
-###################################################
-##Trellis Viterbi Combined
-###################################################
- -->
-<block>
- <name>Trellis Viterbi Combo</name>
- <key>trellis_viterbi_combined_xx</key>
- <import>from gnuradio import trellis</import>
- <make>trellis.viterbi_combined_$(type)$(out_type)(trellis.fsm($fsm_args), $block_size, $init_state, $final_state, $dim, $table, $metric_type)</make>
- <callback>set_TABLE($table)</callback>
- <param>
- <name>Input Type</name>
- <key>type</key>
- <type>enum</type>
- <option>
- <name>Complex</name>
- <key>c</key>
- <opt>io:complex</opt>
- <opt>table:complex_vector</opt>
- </option>
- <option>
- <name>Float</name>
- <key>f</key>
- <opt>io:float</opt>
- <opt>table:real_vector</opt>
- </option>
- <option>
- <name>Int</name>
- <key>i</key>
- <opt>io:int</opt>
- <opt>table:int_vector</opt>
- </option>
- <option>
- <name>Short</name>
- <key>s</key>
- <opt>io:short</opt>
- <opt>table:int_vector</opt>
- </option>
- </param>
- <param>
- <name>Output Type</name>
- <key>out_type</key>
- <type>enum</type>
- <option>
- <name>Int</name>
- <key>i</key>
- <opt>io:int</opt>
- </option>
- <option>
- <name>Short</name>
- <key>s</key>
- <opt>io:short</opt>
- </option>
- <option>
- <name>Byte</name>
- <key>b</key>
- <opt>io:byte</opt>
- </option>
- </param>
- <param>
- <name>FSM Args</name>
- <key>fsm_args</key>
- <type>raw</type>
- </param>
- <param>
- <name>Block Size</name>
- <key>block_size</key>
- <type>int</type>
- </param>
- <param>
- <name>Initial State</name>
- <key>init_state</key>
- <value>-1</value>
- <type>int</type>
- </param>
- <param>
- <name>Final State</name>
- <key>final_state</key>
- <value>-1</value>
- <type>int</type>
- </param>
- <param>
- <name>Dimensionality</name>
- <key>dim</key>
- <type>int</type>
- </param>
- <param>
- <name>Constellation</name>
- <key>table</key>
- <type>$type.table</type>
- </param>
- <param>
- <name>Metric Type</name>
- <key>metric_type</key>
- <type>enum</type>
- <option>
- <name>Euclidean</name>
- <key>trellis.TRELLIS_EUCLIDEAN</key>
- </option>
- <option>
- <name>Hard Symbol</name>
- <key>trellis.TRELLIS_HARD_SYMBOL</key>
- </option>
- <option>
- <name>Hard Bit</name>
- <key>trellis.TRELLIS_HARD_BIT</key>
- </option>
- </param>
- <sink>
- <name>in</name>
- <type>$type.io</type>
- </sink>
- <source>
- <name>out</name>
- <type>$out_type.io</type>
- </source>
- <doc>
-Viterbi Decoder combined with metric calculation. \
-The fsm arguments are passed directly to the trellis.fsm() constructor.
- </doc>
-</block>
diff --git a/grc/blocks/trellis_viterbi_x.xml b/grc/blocks/trellis_viterbi_x.xml
deleted file mode 100644
index 84b39677c..000000000
--- a/grc/blocks/trellis_viterbi_x.xml
+++ /dev/null
@@ -1,66 +0,0 @@
-<?xml version="1.0"?>
-<!--
-###################################################
-##Trellis Viterbi
-###################################################
- -->
-<block>
- <name>Trellis Viterbi</name>
- <key>trellis_viterbi_x</key>
- <import>from gnuradio import trellis</import>
- <make>trellis.viterbi_$(type)(trellis.fsm($fsm_args), $block_size, $init_state, $final_state)</make>
- <param>
- <name>Type</name>
- <key>type</key>
- <type>enum</type>
- <option>
- <name>Int</name>
- <key>i</key>
- <opt>io:int</opt>
- </option>
- <option>
- <name>Short</name>
- <key>s</key>
- <opt>io:short</opt>
- </option>
- <option>
- <name>Byte</name>
- <key>b</key>
- <opt>io:byte</opt>
- </option>
- </param>
- <param>
- <name>FSM Args</name>
- <key>fsm_args</key>
- <type>raw</type>
- </param>
- <param>
- <name>Block Size</name>
- <key>block_size</key>
- <type>int</type>
- </param>
- <param>
- <name>Initial State</name>
- <key>init_state</key>
- <value>-1</value>
- <type>int</type>
- </param>
- <param>
- <name>Final State</name>
- <key>final_state</key>
- <value>-1</value>
- <type>int</type>
- </param>
- <sink>
- <name>in</name>
- <type>float</type>
- </sink>
- <source>
- <name>out</name>
- <type>$type.io</type>
- </source>
- <doc>
-Viterbi Decoder. \
-The fsm arguments are passed directly to the trellis.fsm() constructor.
- </doc>
-</block>