summaryrefslogtreecommitdiff
path: root/grc/blocks
diff options
context:
space:
mode:
authorTom Rondeau <trondeau@vt.edu>2011-09-02 12:15:24 -0400
committerTom Rondeau <trondeau@vt.edu>2011-09-02 12:15:24 -0400
commit492446d2ec6ed85d6437bb35caf4700b02930147 (patch)
tree28ae6ce82b4d3879dd334625146ce3c8c0bb789f /grc/blocks
parent52f9290374a64fef2ff2c0f9199166bed27fc955 (diff)
parent0f43bdb085f98e1182dbd940db9ed1fb52119186 (diff)
Merge branch 'master' into next
* master: Minor fixes in turbo GRC blocks Minor fixes in turbo GRC blocks and one more example added. Added pccc combined turbo decoder and corresponding GRC block More examples and turbo decoder blocks added. Added more turbo encoder/decoder blocks and examples. Added SCCC encoder/decoder grc blocksi and examples. Also moved all grc blocks related to trellis inside the gr-trellis/grc directory added grc directory in gr-trellis updated Makefile.am and block_tree.xml to reflect changes in grc file for gr-trellis Moved grc files from grc/block to gr-trellis/grc
Diffstat (limited to 'grc/blocks')
-rw-r--r--grc/blocks/Makefile.am7
-rw-r--r--grc/blocks/block_tree.xml7
-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
9 files changed, 0 insertions, 633 deletions
diff --git a/grc/blocks/Makefile.am b/grc/blocks/Makefile.am
index 763faf5843..a9f9427e95 100644
--- a/grc/blocks/Makefile.am
+++ b/grc/blocks/Makefile.am
@@ -206,13 +206,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 e9382d1587..f82d40f858 100644
--- a/grc/blocks/block_tree.xml
+++ b/grc/blocks/block_tree.xml
@@ -236,13 +236,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/trellis_encoder_xx.xml b/grc/blocks/trellis_encoder_xx.xml
deleted file mode 100644
index 74a8cc346e..0000000000
--- 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 2016a34c27..0000000000
--- 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 7721cc71dd..0000000000
--- 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 98874d7f45..0000000000
--- 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 2b9cfe5f77..0000000000
--- 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 33dcaaf735..0000000000
--- 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 84b39677ce..0000000000
--- 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>