From ceb1aae53c56e64cb7f3ad7c1ae42a6d68d909ef Mon Sep 17 00:00:00 2001
From: Achilleas Anastasopoulos <anastas@umich.edu>
Date: Wed, 31 Aug 2011 23:01:56 -0400
Subject: Added pccc combined turbo decoder and corresponding GRC block

---
 .../grc/trellis_pccc_decoder_combined_xx.xml       | 170 +++++++++++++++++++++
 1 file changed, 170 insertions(+)
 create mode 100644 gr-trellis/grc/trellis_pccc_decoder_combined_xx.xml

(limited to 'gr-trellis/grc/trellis_pccc_decoder_combined_xx.xml')

diff --git a/gr-trellis/grc/trellis_pccc_decoder_combined_xx.xml b/gr-trellis/grc/trellis_pccc_decoder_combined_xx.xml
new file mode 100644
index 0000000000..1b3e440d1d
--- /dev/null
+++ b/gr-trellis/grc/trellis_pccc_decoder_combined_xx.xml
@@ -0,0 +1,170 @@
+<?xml version="1.0"?>
+<!--
+###################################################
+## PCCC Decoder Combined
+###################################################
+ -->
+
+
+<block>
+	<name>SCCC Decoder Combo</name>
+	<key>trellis_pccc_decoder_combined_xx</key>
+	<category>Error Correction/Trellis</category>
+	<import>from gnuradio import trellis</import>
+	<make>trellis.pccc_decoder_combined_$(type)$(out_type)(
+		trellis.fsm($o_fsm_args), $o_init_state, $o_final_state, 
+		trellis.fsm($i_fsm_args), $i_init_state, $i_final_state, 
+		trellis.interleaver($interleaver), 
+		$block_size,
+		$iterations,
+                $siso_type,
+		$dim, $table, $metric_type,
+		$scaling)
+	</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>
+	</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 1</name>
+		<key>o_fsm_args</key>
+		<type>raw</type>
+	</param>
+	<param>
+		<name>Initial State 1</name>
+		<key>o_init_state</key>
+		<value>-1</value>
+		<type>int</type>
+	</param>
+	<param>
+		<name>Final State 1</name>
+		<key>o_final_state</key>
+		<value>-1</value>
+		<type>int</type>
+	</param>
+	<param>
+		<name>FSM 2</name>
+		<key>i_fsm_args</key>
+		<type>raw</type>
+	</param>
+	<param>
+		<name>Initial State 2</name>
+		<key>i_init_state</key>
+		<value>-1</value>
+		<type>int</type>
+	</param>
+	<param>
+		<name>Final State 2</name>
+		<key>i_final_state</key>
+		<value>-1</value>
+		<type>int</type>
+	</param>
+	<param>
+		<name>Interleaver</name>
+		<key>interleaver</key>
+		<type>raw</type>
+	</param>
+	<param>
+		<name>Block Size</name>
+		<key>block_size</key>
+		<type>int</type>
+	</param>
+	<param>
+		<name>Iterations</name>
+		<key>iterations</key>
+		<value>10</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>
+	<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>Scaling</name>
+		<key>scaling</key>
+		<value>1.0</value>
+		<type>real</type>
+	</param>
+	<sink>
+		<name>in</name>
+		<type>$type.io</type>
+	</sink>
+	<source>
+		<name>out</name>
+		<type>$out_type.io</type>
+	</source>
+	<doc>
+PCCC turbo Decoder combined with metric calculation.
+The fsm arguments are passed directly to the trellis.fsm() constructor.
+	</doc>
+</block>
-- 
cgit v1.2.3