commit-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Commit-gnuradio] [gnuradio] 01/01: trellis: Port all GRC examples to QT


From: git
Subject: [Commit-gnuradio] [gnuradio] 01/01: trellis: Port all GRC examples to QT
Date: Thu, 8 Sep 2016 19:45:29 +0000 (UTC)

This is an automated email from the git hooks/post-receive script.

jcorgan pushed a commit to branch master
in repository gnuradio.

commit 31d2c32295ec930c7db0578f50ac33b9a430b53f
Author: Martin Braun <address@hidden>
Date:   Tue Sep 6 14:07:44 2016 -0700

    trellis: Port all GRC examples to QT
---
 gr-trellis/examples/grc/.gitignore                 |    1 +
 .../examples/grc/interference_cancellation.grc     | 3482 +++++++++++++-------
 gr-trellis/examples/grc/pccc.grc                   | 1232 ++++---
 gr-trellis/examples/grc/sccc.grc                   | 1174 ++++---
 gr-trellis/examples/grc/tcm.grc                    | 1268 ++++---
 gr-trellis/examples/grc/turbo_equalization.grc     | 2818 +++++++++-------
 gr-trellis/examples/grc/viterbi_equalization.grc   | 1504 +++++----
 7 files changed, 6994 insertions(+), 4485 deletions(-)

diff --git a/gr-trellis/examples/grc/.gitignore 
b/gr-trellis/examples/grc/.gitignore
new file mode 100644
index 0000000..f104652
--- /dev/null
+++ b/gr-trellis/examples/grc/.gitignore
@@ -0,0 +1 @@
+*.py
diff --git a/gr-trellis/examples/grc/interference_cancellation.grc 
b/gr-trellis/examples/grc/interference_cancellation.grc
index 1dbcf69..479dd64 100644
--- a/gr-trellis/examples/grc/interference_cancellation.grc
+++ b/gr-trellis/examples/grc/interference_cancellation.grc
@@ -1,987 +1,1014 @@
-<?xml version='1.0' encoding='ASCII'?>
+<?xml version='1.0' encoding='utf-8'?>
+<?grc format='1' created='3.7.11'?>
 <flow_graph>
   <timestamp>Fri Sep 26 18:21:00 2014</timestamp>
   <block>
     <key>options</key>
     <param>
-      <key>id</key>
-      <value>int_cancellation</value>
+      <key>author</key>
+      <value>AA</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>window_size</key>
+      <value>2048, 2048</value>
     </param>
     <param>
-      <key>title</key>
-      <value>Superposition Coding</value>
+      <key>category</key>
+      <value>Custom</value>
     </param>
     <param>
-      <key>author</key>
-      <value>AA</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>description</key>
       <value>gnuradio flow graph</value>
     </param>
     <param>
-      <key>window_size</key>
-      <value>2048, 2048</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
-      <key>generate_options</key>
-      <value>wx_gui</value>
+      <key>_coordinate</key>
+      <value>(0, 4)</value>
     </param>
     <param>
-      <key>category</key>
-      <value>Custom</value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>run_options</key>
-      <value>prompt</value>
+      <key>generate_options</key>
+      <value>qt_gui</value>
     </param>
     <param>
-      <key>run</key>
-      <value>True</value>
+      <key>hier_block_src_path</key>
+      <value>.:</value>
+    </param>
+    <param>
+      <key>id</key>
+      <value>int_cancellation</value>
     </param>
     <param>
       <key>max_nouts</key>
       <value>0</value>
     </param>
     <param>
+      <key>qt_qss_theme</key>
+      <value></value>
+    </param>
+    <param>
       <key>realtime_scheduling</key>
       <value></value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(10, 10)</value>
+      <key>run_command</key>
+      <value>{python} -u {filename}</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>run_options</key>
+      <value>prompt</value>
+    </param>
+    <param>
+      <key>run</key>
+      <value>True</value>
+    </param>
+    <param>
+      <key>thread_safe_setters</key>
+      <value></value>
+    </param>
+    <param>
+      <key>title</key>
+      <value>Superposition Coding</value>
     </param>
   </block>
   <block>
     <key>variable</key>
     <param>
-      <key>id</key>
-      <value>prefix</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>value</key>
-      <value>"@FSM_FILE_INSTALL_DIR@"</value>
-    </param>
-    <param>
       <key>_coordinate</key>
-      <value>(871, 14)</value>
+      <value>(544, 4)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>variable</key>
     <param>
       <key>id</key>
       <value>R</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>value</key>
+      <value>100e3</value>
+    </param>
+  </block>
+  <block>
+    <key>variable_qtgui_range</key>
+    <param>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>value</key>
-      <value>100e3</value>
+      <value>.1</value>
+    </param>
+    <param>
+      <key>_enabled</key>
+      <value>1</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(748, 12)</value>
+      <value>(176, 4)</value>
+    </param>
+    <param>
+      <key>gui_hint</key>
+      <value></value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>variable</key>
     <param>
       <key>id</key>
-      <value>noisevar</value>
+      <value>alpha</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>label</key>
+      <value>P1/P</value>
     </param>
     <param>
-      <key>value</key>
-      <value>10**(-snr_db/10)</value>
+      <key>min_len</key>
+      <value>200</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(637, 13)</value>
+      <key>orient</key>
+      <value>Qt.Horizontal</value>
     </param>
     <param>
-      <key>_rotation</key>
+      <key>start</key>
       <value>0</value>
     </param>
+    <param>
+      <key>step</key>
+      <value>.01</value>
+    </param>
+    <param>
+      <key>stop</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>rangeType</key>
+      <value>float</value>
+    </param>
+    <param>
+      <key>widget</key>
+      <value>counter_slider</value>
+    </param>
   </block>
   <block>
     <key>variable</key>
     <param>
-      <key>id</key>
-      <value>fsm1</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>value</key>
-      <value>"awgn1o2_16.fsm"</value>
-    </param>
-    <param>
       <key>_coordinate</key>
-      <value>(849, 87)</value>
+      <value>(456, 68)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
+    <param>
+      <key>id</key>
+      <value>block</value>
+    </param>
+    <param>
+      <key>value</key>
+      <value>1000</value>
+    </param>
   </block>
   <block>
     <key>variable</key>
     <param>
-      <key>id</key>
-      <value>fsm2</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>value</key>
-      <value>"awgn1o2_4.fsm"</value>
-    </param>
-    <param>
       <key>_coordinate</key>
-      <value>(849, 153)</value>
+      <value>(632, 4)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
+    <param>
+      <key>id</key>
+      <value>fsm1</value>
+    </param>
+    <param>
+      <key>value</key>
+      <value>"awgn1o2_16.fsm"</value>
+    </param>
   </block>
   <block>
     <key>variable</key>
     <param>
-      <key>id</key>
-      <value>block</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>value</key>
-      <value>1000</value>
-    </param>
-    <param>
       <key>_coordinate</key>
-      <value>(752, 85)</value>
+      <value>(632, 68)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
+    <param>
+      <key>id</key>
+      <value>fsm2</value>
+    </param>
+    <param>
+      <key>value</key>
+      <value>"awgn1o2_4.fsm"</value>
+    </param>
   </block>
   <block>
-    <key>digital_chunks_to_symbols_xx</key>
+    <key>variable</key>
     <param>
-      <key>id</key>
-      <value>digital_chunks_to_symbols_xx_0_0_1</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>in_type</key>
-      <value>byte</value>
-    </param>
-    <param>
-      <key>out_type</key>
-      <value>complex</value>
+      <key>_coordinate</key>
+      <value>(456, 4)</value>
     </param>
     <param>
-      <key>symbol_table</key>
-      <value>1,1j,-1j,-1</value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>dimension</key>
-      <value>1</value>
+      <key>id</key>
+      <value>noisevar</value>
     </param>
     <param>
-      <key>num_ports</key>
-      <value>1</value>
+      <key>value</key>
+      <value>10**(-snr_db/10)</value>
     </param>
+  </block>
+  <block>
+    <key>variable</key>
     <param>
-      <key>affinity</key>
+      <key>comment</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>_enabled</key>
+      <value>1</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(408, 1719)</value>
+      <value>(816, 4)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
+    <param>
+      <key>id</key>
+      <value>prefix</value>
+    </param>
+    <param>
+      <key>value</key>
+      <value>"@FSM_FILE_INSTALL_DIR@"</value>
+    </param>
   </block>
   <block>
-    <key>virtual_source</key>
+    <key>variable_qtgui_range</key>
     <param>
-      <key>id</key>
-      <value>virtual_source_0_0</value>
+      <key>comment</key>
+      <value></value>
+    </param>
+    <param>
+      <key>value</key>
+      <value>10</value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>stream_id</key>
-      <value>user1</value>
+      <key>_coordinate</key>
+      <value>(312, 4)</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(356, 1844)</value>
+      <key>gui_hint</key>
+      <value></value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>virtual_source</key>
     <param>
       <key>id</key>
-      <value>virtual_source_0_2_0</value>
+      <value>snr_db</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>label</key>
+      <value>P/sigma^2 (dB)</value>
     </param>
     <param>
-      <key>stream_id</key>
-      <value>user2_est</value>
+      <key>min_len</key>
+      <value>200</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(10, 1649)</value>
+      <key>orient</key>
+      <value>Qt.Horizontal</value>
     </param>
     <param>
-      <key>_rotation</key>
+      <key>start</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>blocks_sub_xx</key>
     <param>
-      <key>id</key>
-      <value>blocks_sub_xx_2_0</value>
+      <key>step</key>
+      <value>1</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>stop</key>
+      <value>20</value>
     </param>
     <param>
-      <key>type</key>
-      <value>complex</value>
+      <key>rangeType</key>
+      <value>float</value>
     </param>
     <param>
-      <key>vlen</key>
-      <value>1</value>
+      <key>widget</key>
+      <value>counter_slider</value>
     </param>
+  </block>
+  <block>
+    <key>analog_noise_source_x</key>
     <param>
-      <key>num_inputs</key>
-      <value>2</value>
+      <key>amp</key>
+      <value>noisevar</value>
+    </param>
+    <param>
+      <key>alias</key>
+      <value></value>
+    </param>
+    <param>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>affinity</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(963, 1695)</value>
+      <value>(808, 356)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>virtual_source</key>
     <param>
       <key>id</key>
-      <value>virtual_source_0_1_2</value>
+      <value>analog_noise_source_x_0</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>stream_id</key>
-      <value>observation</value>
-    </param>
-    <param>
-      <key>_coordinate</key>
-      <value>(705, 1660)</value>
-    </param>
-    <param>
-      <key>_rotation</key>
+      <key>minoutbuf</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>blocks_multiply_const_vxx</key>
-    <param>
-      <key>id</key>
-      <value>blocks_multiply_const_vxx_2_0</value>
-    </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>noise_type</key>
+      <value>analog.GR_GAUSSIAN</value>
     </param>
     <param>
       <key>type</key>
       <value>complex</value>
     </param>
     <param>
-      <key>const</key>
-      <value>(1-alpha)**0.5</value>
+      <key>seed</key>
+      <value>-42</value>
+    </param>
+  </block>
+  <block>
+    <key>analog_random_source_x</key>
+    <param>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
-      <key>vlen</key>
-      <value>1</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>affinity</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(721, 1727)</value>
+      <value>(0, 148)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>digital_chunks_to_symbols_xx</key>
     <param>
       <key>id</key>
-      <value>digital_chunks_to_symbols_xx_0_0_0</value>
-    </param>
-    <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <value>analog_random_source_x_0</value>
     </param>
     <param>
-      <key>in_type</key>
-      <value>byte</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>out_type</key>
-      <value>complex</value>
+      <key>max</key>
+      <value>2</value>
     </param>
     <param>
-      <key>symbol_table</key>
-      <value>1,1j,-1j,-1</value>
+      <key>minoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>dimension</key>
-      <value>1</value>
+      <key>min</key>
+      <value>0</value>
     </param>
     <param>
-      <key>num_ports</key>
-      <value>1</value>
+      <key>num_samps</key>
+      <value>block</value>
     </param>
     <param>
-      <key>affinity</key>
-      <value></value>
+      <key>type</key>
+      <value>byte</value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>repeat</key>
+      <value>True</value>
     </param>
+  </block>
+  <block>
+    <key>analog_random_source_x</key>
     <param>
-      <key>_coordinate</key>
-      <value>(416, 1251)</value>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>comment</key>
+      <value></value>
     </param>
-  </block>
-  <block>
-    <key>virtual_source</key>
     <param>
-      <key>id</key>
-      <value>virtual_source_0_4</value>
+      <key>affinity</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>stream_id</key>
-      <value>user2</value>
-    </param>
-    <param>
       <key>_coordinate</key>
-      <value>(359, 1373)</value>
+      <value>(0, 284)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>virtual_source</key>
     <param>
       <key>id</key>
-      <value>virtual_source_0_2</value>
+      <value>analog_random_source_x_1</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>stream_id</key>
-      <value>user1_est</value>
+      <key>max</key>
+      <value>2</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(33, 1187)</value>
+      <key>minoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>_rotation</key>
+      <key>min</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>blocks_sub_xx</key>
     <param>
-      <key>id</key>
-      <value>blocks_sub_xx_2</value>
+      <key>num_samps</key>
+      <value>block</value>
     </param>
     <param>
-      <key>_enabled</key>
+      <key>type</key>
+      <value>byte</value>
+    </param>
+    <param>
+      <key>repeat</key>
       <value>True</value>
     </param>
+  </block>
+  <block>
+    <key>blks2_error_rate</key>
     <param>
-      <key>type</key>
-      <value>complex</value>
+      <key>bits_per_symbol</key>
+      <value>2</value>
     </param>
     <param>
-      <key>vlen</key>
-      <value>1</value>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
-      <key>num_inputs</key>
-      <value>2</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>affinity</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(942, 1229)</value>
+      <value>(568, 476)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>virtual_source</key>
     <param>
       <key>id</key>
-      <value>virtual_source_0_1_1</value>
+      <value>blks2_error_rate_0</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>stream_id</key>
-      <value>observation</value>
+      <key>minoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(698, 1198)</value>
+      <key>type</key>
+      <value>'BER'</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>win_size</key>
+      <value>block*100</value>
     </param>
   </block>
   <block>
-    <key>blocks_multiply_const_vxx</key>
-    <param>
-      <key>id</key>
-      <value>blocks_multiply_const_vxx_2</value>
-    </param>
-    <param>
-      <key>_enabled</key>
-      <value>True</value>
-    </param>
+    <key>blks2_error_rate</key>
     <param>
-      <key>type</key>
-      <value>complex</value>
+      <key>bits_per_symbol</key>
+      <value>2</value>
     </param>
     <param>
-      <key>const</key>
-      <value>alpha**0.5</value>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
-      <key>vlen</key>
-      <value>1</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>affinity</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(708, 1259)</value>
+      <value>(584, 668)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>virtual_source</key>
     <param>
       <key>id</key>
-      <value>virtual_source_0_3</value>
+      <value>blks2_error_rate_0_0</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>stream_id</key>
-      <value>user2</value>
+      <key>minoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(342, 928)</value>
+      <key>type</key>
+      <value>'BER'</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>win_size</key>
+      <value>block*100</value>
     </param>
   </block>
   <block>
-    <key>virtual_sink</key>
-    <param>
-      <key>id</key>
-      <value>virtual_sink_0_2_0</value>
-    </param>
-    <param>
-      <key>_enabled</key>
-      <value>True</value>
-    </param>
+    <key>blks2_error_rate</key>
     <param>
-      <key>stream_id</key>
-      <value>user2_est</value>
+      <key>bits_per_symbol</key>
+      <value>2</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(341, 1025)</value>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>comment</key>
+      <value></value>
     </param>
-  </block>
-  <block>
-    <key>virtual_source</key>
     <param>
-      <key>id</key>
-      <value>virtual_source_0_1_0</value>
+      <key>affinity</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>stream_id</key>
-      <value>observation</value>
-    </param>
-    <param>
       <key>_coordinate</key>
-      <value>(11, 873)</value>
+      <value>(416, 1052)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>virtual_source</key>
     <param>
       <key>id</key>
-      <value>virtual_source_0</value>
+      <value>blks2_error_rate_0_0_0</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>stream_id</key>
-      <value>user1</value>
+      <key>minoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(348, 566)</value>
+      <key>type</key>
+      <value>'BER'</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>win_size</key>
+      <value>block*100</value>
     </param>
   </block>
   <block>
-    <key>virtual_sink</key>
+    <key>blks2_error_rate</key>
     <param>
-      <key>id</key>
-      <value>virtual_sink_0_2</value>
+      <key>bits_per_symbol</key>
+      <value>2</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
-      <key>stream_id</key>
-      <value>user1_est</value>
-    </param>
-    <param>
-      <key>_coordinate</key>
-      <value>(355, 687)</value>
-    </param>
-    <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>comment</key>
+      <value></value>
     </param>
-  </block>
-  <block>
-    <key>virtual_source</key>
     <param>
-      <key>id</key>
-      <value>virtual_source_0_1</value>
+      <key>affinity</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>stream_id</key>
-      <value>observation</value>
-    </param>
-    <param>
       <key>_coordinate</key>
-      <value>(13, 530)</value>
+      <value>(424, 1348)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>wxgui_numbersink2</key>
     <param>
       <key>id</key>
-      <value>wxgui_numbersink2_0</value>
+      <value>blks2_error_rate_0_0_0_0</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>type</key>
-      <value>float</value>
+      <key>minoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>title</key>
-      <value>BER 1 (raw)</value>
+      <key>type</key>
+      <value>'BER'</value>
     </param>
     <param>
-      <key>units</key>
-      <value>BER</value>
+      <key>win_size</key>
+      <value>block*100</value>
     </param>
+  </block>
+  <block>
+    <key>blocks_add_xx</key>
     <param>
-      <key>samp_rate</key>
-      <value>R</value>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
-      <key>min_value</key>
-      <value>0</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
-      <key>max_value</key>
-      <value>1</value>
+      <key>affinity</key>
+      <value></value>
     </param>
     <param>
-      <key>factor</key>
-      <value>1.0</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
-      <key>decimal_places</key>
-      <value>6</value>
+      <key>_coordinate</key>
+      <value>(1040, 280)</value>
     </param>
     <param>
-      <key>ref_level</key>
+      <key>_rotation</key>
       <value>0</value>
     </param>
     <param>
-      <key>number_rate</key>
-      <value>15</value>
+      <key>id</key>
+      <value>blocks_add_xx_0</value>
     </param>
     <param>
-      <key>peak_hold</key>
-      <value>False</value>
+      <key>type</key>
+      <value>complex</value>
     </param>
     <param>
-      <key>average</key>
-      <value>False</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>avg_alpha</key>
-      <value>0.001</value>
+      <key>minoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>show_gauge</key>
-      <value>True</value>
+      <key>num_inputs</key>
+      <value>3</value>
     </param>
     <param>
-      <key>win_size</key>
-      <value></value>
+      <key>vlen</key>
+      <value>1</value>
     </param>
+  </block>
+  <block>
+    <key>blocks_multiply_const_vxx</key>
     <param>
-      <key>grid_pos</key>
-      <value>0,0,1,1</value>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
-      <key>notebook</key>
+      <key>comment</key>
       <value></value>
     </param>
     <param>
+      <key>const</key>
+      <value>alpha**0.5</value>
+    </param>
+    <param>
       <key>affinity</key>
       <value></value>
     </param>
     <param>
+      <key>_enabled</key>
+      <value>True</value>
+    </param>
+    <param>
       <key>_coordinate</key>
-      <value>(944, 556)</value>
+      <value>(816, 172)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>wxgui_numbersink2</key>
     <param>
       <key>id</key>
-      <value>wxgui_numbersink2_2</value>
+      <value>blocks_multiply_const_vxx_0</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>type</key>
+      <value>complex</value>
     </param>
     <param>
-      <key>type</key>
-      <value>float</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>title</key>
-      <value>BER 2 (raw)</value>
+      <key>minoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>units</key>
-      <value>BER</value>
+      <key>vlen</key>
+      <value>1</value>
     </param>
+  </block>
+  <block>
+    <key>blocks_multiply_const_vxx</key>
     <param>
-      <key>samp_rate</key>
-      <value>R</value>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
-      <key>min_value</key>
-      <value>0</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
-      <key>max_value</key>
-      <value>1.0</value>
+      <key>const</key>
+      <value>(1-alpha)**0.5</value>
     </param>
     <param>
-      <key>factor</key>
-      <value>1.0</value>
+      <key>affinity</key>
+      <value></value>
+    </param>
+    <param>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
-      <key>decimal_places</key>
-      <value>6</value>
+      <key>_coordinate</key>
+      <value>(816, 308)</value>
     </param>
     <param>
-      <key>ref_level</key>
+      <key>_rotation</key>
       <value>0</value>
     </param>
     <param>
-      <key>number_rate</key>
-      <value>15</value>
+      <key>id</key>
+      <value>blocks_multiply_const_vxx_1</value>
     </param>
     <param>
-      <key>peak_hold</key>
-      <value>False</value>
+      <key>type</key>
+      <value>complex</value>
     </param>
     <param>
-      <key>average</key>
-      <value>False</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>avg_alpha</key>
-      <value>0.001</value>
+      <key>minoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>show_gauge</key>
-      <value>True</value>
+      <key>vlen</key>
+      <value>1</value>
     </param>
+  </block>
+  <block>
+    <key>blocks_multiply_const_vxx</key>
     <param>
-      <key>win_size</key>
+      <key>alias</key>
       <value></value>
     </param>
     <param>
-      <key>grid_pos</key>
-      <value>0,1,1,1</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
-      <key>notebook</key>
-      <value></value>
+      <key>const</key>
+      <value>alpha**0.5</value>
     </param>
     <param>
       <key>affinity</key>
       <value></value>
     </param>
     <param>
+      <key>_enabled</key>
+      <value>True</value>
+    </param>
+    <param>
       <key>_coordinate</key>
-      <value>(944, 886)</value>
+      <value>(632, 908)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>wxgui_numbersink2</key>
     <param>
       <key>id</key>
-      <value>wxgui_numbersink2_3</value>
+      <value>blocks_multiply_const_vxx_2</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>type</key>
+      <value>complex</value>
     </param>
     <param>
-      <key>type</key>
-      <value>float</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>title</key>
-      <value>BER 2 (after cancelling user 1)</value>
+      <key>minoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>units</key>
-      <value>BER</value>
+      <key>vlen</key>
+      <value>1</value>
     </param>
+  </block>
+  <block>
+    <key>blocks_multiply_const_vxx</key>
     <param>
-      <key>samp_rate</key>
-      <value>R</value>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
-      <key>min_value</key>
-      <value>0</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
-      <key>max_value</key>
-      <value>1.0</value>
+      <key>const</key>
+      <value>(1-alpha)**0.5</value>
     </param>
     <param>
-      <key>factor</key>
-      <value>1.0</value>
+      <key>affinity</key>
+      <value></value>
     </param>
     <param>
-      <key>decimal_places</key>
-      <value>6</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
-      <key>ref_level</key>
-      <value>0</value>
+      <key>_coordinate</key>
+      <value>(672, 1220)</value>
     </param>
     <param>
-      <key>number_rate</key>
-      <value>15</value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>peak_hold</key>
-      <value>False</value>
+      <key>id</key>
+      <value>blocks_multiply_const_vxx_2_0</value>
     </param>
     <param>
-      <key>average</key>
-      <value>False</value>
+      <key>type</key>
+      <value>complex</value>
     </param>
     <param>
-      <key>avg_alpha</key>
-      <value>0.001</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>show_gauge</key>
-      <value>True</value>
+      <key>minoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>win_size</key>
-      <value></value>
+      <key>vlen</key>
+      <value>1</value>
     </param>
+  </block>
+  <block>
+    <key>blocks_sub_xx</key>
     <param>
-      <key>grid_pos</key>
-      <value>1,1,1,1</value>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
-      <key>notebook</key>
+      <key>comment</key>
       <value></value>
     </param>
     <param>
@@ -989,177 +1016,199 @@
       <value></value>
     </param>
     <param>
+      <key>_enabled</key>
+      <value>True</value>
+    </param>
+    <param>
       <key>_coordinate</key>
-      <value>(945, 1351)</value>
+      <value>(896, 880)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>blocks_multiply_const_vxx</key>
     <param>
       <key>id</key>
-      <value>blocks_multiply_const_vxx_1</value>
-    </param>
-    <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <value>blocks_sub_xx_2</value>
     </param>
     <param>
       <key>type</key>
       <value>complex</value>
     </param>
     <param>
-      <key>const</key>
-      <value>(1-alpha)**0.5</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>minoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>num_inputs</key>
+      <value>2</value>
     </param>
     <param>
       <key>vlen</key>
       <value>1</value>
     </param>
+  </block>
+  <block>
+    <key>blocks_sub_xx</key>
+    <param>
+      <key>alias</key>
+      <value></value>
+    </param>
+    <param>
+      <key>comment</key>
+      <value></value>
+    </param>
     <param>
       <key>affinity</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(943, 402)</value>
+      <value>(872, 1192)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>blocks_multiply_const_vxx</key>
     <param>
       <key>id</key>
-      <value>blocks_multiply_const_vxx_0</value>
-    </param>
-    <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <value>blocks_sub_xx_2_0</value>
     </param>
     <param>
       <key>type</key>
       <value>complex</value>
     </param>
     <param>
-      <key>const</key>
-      <value>alpha**0.5</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>minoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>num_inputs</key>
+      <value>2</value>
     </param>
     <param>
       <key>vlen</key>
       <value>1</value>
     </param>
+  </block>
+  <block>
+    <key>blocks_throttle</key>
     <param>
-      <key>affinity</key>
+      <key>alias</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
-    </param>
-    <param>
-      <key>_coordinate</key>
-      <value>(947, 301)</value>
-    </param>
-    <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>comment</key>
+      <value></value>
     </param>
-  </block>
-  <block>
-    <key>virtual_sink</key>
     <param>
-      <key>id</key>
-      <value>virtual_sink_0_0</value>
+      <key>affinity</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>stream_id</key>
-      <value>user2</value>
-    </param>
-    <param>
       <key>_coordinate</key>
-      <value>(208, 340)</value>
+      <value>(424, 172)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>analog_random_source_x</key>
     <param>
       <key>id</key>
-      <value>analog_random_source_x_1</value>
+      <value>blocks_throttle_0</value>
     </param>
     <param>
-      <key>_enabled</key>
+      <key>ignoretag</key>
       <value>True</value>
     </param>
     <param>
-      <key>type</key>
-      <value>byte</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>min</key>
+      <key>minoutbuf</key>
       <value>0</value>
     </param>
     <param>
-      <key>max</key>
-      <value>2</value>
+      <key>samples_per_second</key>
+      <value>R</value>
     </param>
     <param>
-      <key>num_samps</key>
-      <value>block</value>
+      <key>type</key>
+      <value>byte</value>
     </param>
     <param>
-      <key>repeat</key>
-      <value>True</value>
+      <key>vlen</key>
+      <value>1</value>
+    </param>
+  </block>
+  <block>
+    <key>digital_chunks_to_symbols_xx</key>
+    <param>
+      <key>alias</key>
+      <value></value>
+    </param>
+    <param>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>affinity</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>dimension</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(22, 374)</value>
+      <value>(608, 164)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>digital_chunks_to_symbols_xx</key>
     <param>
       <key>id</key>
       <value>digital_chunks_to_symbols_xx_0</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
-    </param>
-    <param>
       <key>in_type</key>
       <value>byte</value>
     </param>
     <param>
+      <key>maxoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>minoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>num_ports</key>
+      <value>1</value>
+    </param>
+    <param>
       <key>out_type</key>
       <value>complex</value>
     </param>
@@ -1167,155 +1216,176 @@
       <key>symbol_table</key>
       <value>1,1j,-1j,-1</value>
     </param>
+  </block>
+  <block>
+    <key>digital_chunks_to_symbols_xx</key>
     <param>
-      <key>dimension</key>
-      <value>1</value>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
-      <key>num_ports</key>
-      <value>1</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>affinity</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>dimension</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(700, 294)</value>
+      <value>(608, 300)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>blocks_throttle</key>
     <param>
       <key>id</key>
-      <value>blocks_throttle_0</value>
+      <value>digital_chunks_to_symbols_xx_0_0</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>in_type</key>
+      <value>byte</value>
     </param>
     <param>
-      <key>type</key>
-      <value>byte</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>samples_per_second</key>
-      <value>R</value>
+      <key>minoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>vlen</key>
+      <key>num_ports</key>
       <value>1</value>
     </param>
     <param>
+      <key>out_type</key>
+      <value>complex</value>
+    </param>
+    <param>
+      <key>symbol_table</key>
+      <value>1,1j,-1j,-1</value>
+    </param>
+  </block>
+  <block>
+    <key>digital_chunks_to_symbols_xx</key>
+    <param>
+      <key>alias</key>
+      <value></value>
+    </param>
+    <param>
+      <key>comment</key>
+      <value></value>
+    </param>
+    <param>
       <key>affinity</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>dimension</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(576, 226)</value>
+      <value>(416, 900)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>analog_random_source_x</key>
     <param>
       <key>id</key>
-      <value>analog_random_source_x_0</value>
-    </param>
-    <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <value>digital_chunks_to_symbols_xx_0_0_0</value>
     </param>
     <param>
-      <key>type</key>
+      <key>in_type</key>
       <value>byte</value>
     </param>
     <param>
-      <key>min</key>
+      <key>maxoutbuf</key>
       <value>0</value>
     </param>
     <param>
-      <key>max</key>
-      <value>2</value>
+      <key>minoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>num_samps</key>
-      <value>block</value>
+      <key>num_ports</key>
+      <value>1</value>
     </param>
     <param>
-      <key>repeat</key>
-      <value>True</value>
+      <key>out_type</key>
+      <value>complex</value>
     </param>
     <param>
-      <key>affinity</key>
-      <value></value>
+      <key>symbol_table</key>
+      <value>1,1j,-1j,-1</value>
     </param>
+  </block>
+  <block>
+    <key>digital_chunks_to_symbols_xx</key>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(18, 253)</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>affinity</key>
+      <value></value>
     </param>
-  </block>
-  <block>
-    <key>virtual_sink</key>
     <param>
-      <key>id</key>
-      <value>virtual_sink_0</value>
+      <key>dimension</key>
+      <value>1</value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>stream_id</key>
-      <value>user1</value>
-    </param>
-    <param>
       <key>_coordinate</key>
-      <value>(208, 229)</value>
+      <value>(432, 1212)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>digital_chunks_to_symbols_xx</key>
     <param>
       <key>id</key>
-      <value>digital_chunks_to_symbols_xx_0_0</value>
-    </param>
-    <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <value>digital_chunks_to_symbols_xx_0_0_1</value>
     </param>
     <param>
       <key>in_type</key>
       <value>byte</value>
     </param>
     <param>
+      <key>maxoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>minoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>num_ports</key>
+      <value>1</value>
+    </param>
+    <param>
       <key>out_type</key>
       <value>complex</value>
     </param>
@@ -1323,1180 +1393,2386 @@
       <key>symbol_table</key>
       <value>1,1j,-1j,-1</value>
     </param>
+  </block>
+  <block>
+    <key>qtgui_const_sink_x</key>
     <param>
-      <key>dimension</key>
-      <value>1</value>
+      <key>autoscale</key>
+      <value>False</value>
     </param>
     <param>
-      <key>num_ports</key>
-      <value>1</value>
+      <key>axislabels</key>
+      <value>True</value>
+    </param>
+    <param>
+      <key>alias</key>
+      <value></value>
+    </param>
+    <param>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>affinity</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(700, 394)</value>
+      <value>(1144, 300)</value>
+    </param>
+    <param>
+      <key>gui_hint</key>
+      <value></value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>blocks_add_xx</key>
     <param>
-      <key>id</key>
-      <value>blocks_add_xx_1</value>
+      <key>grid</key>
+      <value>False</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>id</key>
+      <value>qtgui_const_sink_x_0</value>
     </param>
     <param>
-      <key>type</key>
-      <value>complex</value>
+      <key>legend</key>
+      <value>True</value>
     </param>
     <param>
-      <key>num_inputs</key>
-      <value>2</value>
+      <key>alpha1</key>
+      <value>1.0</value>
     </param>
     <param>
-      <key>vlen</key>
-      <value>1</value>
+      <key>color1</key>
+      <value>"blue"</value>
     </param>
     <param>
-      <key>affinity</key>
+      <key>label1</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
+      <key>marker1</key>
       <value>0</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(1400, 341)</value>
+      <key>style1</key>
+      <value>1</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>width1</key>
+      <value>1</value>
     </param>
-  </block>
-  <block>
-    <key>blocks_add_xx</key>
     <param>
-      <key>id</key>
-      <value>blocks_add_xx_0</value>
+      <key>alpha10</key>
+      <value>1.0</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>color10</key>
+      <value>"red"</value>
     </param>
     <param>
-      <key>type</key>
-      <value>complex</value>
+      <key>label10</key>
+      <value></value>
     </param>
     <param>
-      <key>num_inputs</key>
-      <value>2</value>
+      <key>marker10</key>
+      <value>0</value>
     </param>
     <param>
-      <key>vlen</key>
+      <key>style10</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>width10</key>
       <value>1</value>
     </param>
     <param>
-      <key>affinity</key>
+      <key>alpha2</key>
+      <value>1.0</value>
+    </param>
+    <param>
+      <key>color2</key>
+      <value>"red"</value>
+    </param>
+    <param>
+      <key>label2</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
+      <key>marker2</key>
       <value>0</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(1224, 324)</value>
+      <key>style2</key>
+      <value>0</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>width2</key>
+      <value>1</value>
     </param>
-  </block>
-  <block>
-    <key>analog_noise_source_x</key>
     <param>
-      <key>id</key>
-      <value>analog_noise_source_x_0</value>
+      <key>alpha3</key>
+      <value>1.0</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>color3</key>
+      <value>"red"</value>
     </param>
     <param>
-      <key>type</key>
-      <value>complex</value>
+      <key>label3</key>
+      <value></value>
     </param>
     <param>
-      <key>noise_type</key>
-      <value>analog.GR_GAUSSIAN</value>
+      <key>marker3</key>
+      <value>0</value>
     </param>
     <param>
-      <key>amp</key>
-      <value>noisevar</value>
+      <key>style3</key>
+      <value>0</value>
     </param>
     <param>
-      <key>seed</key>
-      <value>-42</value>
+      <key>width3</key>
+      <value>1</value>
     </param>
     <param>
-      <key>affinity</key>
-      <value></value>
+      <key>alpha4</key>
+      <value>1.0</value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>color4</key>
+      <value>"red"</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(1178, 400)</value>
+      <key>label4</key>
+      <value></value>
     </param>
     <param>
-      <key>_rotation</key>
+      <key>marker4</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>virtual_sink</key>
     <param>
-      <key>id</key>
-      <value>virtual_sink_0_1</value>
+      <key>style4</key>
+      <value>0</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>width4</key>
+      <value>1</value>
     </param>
     <param>
-      <key>stream_id</key>
-      <value>observation</value>
+      <key>alpha5</key>
+      <value>1.0</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(1407, 453)</value>
+      <key>color5</key>
+      <value>"red"</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>label5</key>
+      <value></value>
     </param>
-  </block>
-  <block>
-    <key>wxgui_scopesink2</key>
     <param>
-      <key>id</key>
-      <value>wxgui_scopesink2_0</value>
+      <key>marker5</key>
+      <value>0</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>style5</key>
+      <value>0</value>
     </param>
     <param>
-      <key>type</key>
-      <value>complex</value>
+      <key>width5</key>
+      <value>1</value>
     </param>
     <param>
-      <key>title</key>
-      <value>Scope Plot</value>
+      <key>alpha6</key>
+      <value>1.0</value>
     </param>
     <param>
-      <key>samp_rate</key>
-      <value>R</value>
+      <key>color6</key>
+      <value>"red"</value>
     </param>
     <param>
-      <key>v_scale</key>
-      <value>0</value>
+      <key>label6</key>
+      <value></value>
     </param>
     <param>
-      <key>v_offset</key>
+      <key>marker6</key>
       <value>0</value>
     </param>
     <param>
-      <key>t_scale</key>
+      <key>style6</key>
       <value>0</value>
     </param>
     <param>
-      <key>ac_couple</key>
-      <value>False</value>
+      <key>width6</key>
+      <value>1</value>
     </param>
     <param>
-      <key>xy_mode</key>
-      <value>True</value>
+      <key>alpha7</key>
+      <value>1.0</value>
     </param>
     <param>
-      <key>num_inputs</key>
-      <value>1</value>
+      <key>color7</key>
+      <value>"red"</value>
     </param>
     <param>
-      <key>win_size</key>
+      <key>label7</key>
       <value></value>
     </param>
     <param>
-      <key>grid_pos</key>
-      <value></value>
+      <key>marker7</key>
+      <value>0</value>
     </param>
     <param>
-      <key>notebook</key>
-      <value></value>
+      <key>style7</key>
+      <value>0</value>
     </param>
     <param>
-      <key>trig_mode</key>
-      <value>wxgui.TRIG_MODE_AUTO</value>
+      <key>width7</key>
+      <value>1</value>
     </param>
     <param>
-      <key>y_axis_label</key>
-      <value>Counts</value>
+      <key>alpha8</key>
+      <value>1.0</value>
     </param>
     <param>
-      <key>affinity</key>
-      <value></value>
+      <key>color8</key>
+      <value>"red"</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(1383, 208)</value>
+      <key>label8</key>
+      <value></value>
     </param>
     <param>
-      <key>_rotation</key>
+      <key>marker8</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>trellis_viterbi_combined_xx</key>
-    <param>
-      <key>id</key>
-      <value>trellis_viterbi_combined_xx_1</value>
-    </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>style8</key>
+      <value>0</value>
     </param>
     <param>
-      <key>type</key>
-      <value>c</value>
+      <key>width8</key>
+      <value>1</value>
     </param>
     <param>
-      <key>out_type</key>
-      <value>b</value>
+      <key>alpha9</key>
+      <value>1.0</value>
     </param>
     <param>
-      <key>fsm_args</key>
-      <value>prefix+fsm1</value>
+      <key>color9</key>
+      <value>"red"</value>
     </param>
     <param>
-      <key>block_size</key>
-      <value>block</value>
+      <key>label9</key>
+      <value></value>
     </param>
     <param>
-      <key>init_state</key>
-      <value>-1</value>
+      <key>marker9</key>
+      <value>0</value>
     </param>
     <param>
-      <key>final_state</key>
-      <value>-1</value>
+      <key>style9</key>
+      <value>0</value>
     </param>
     <param>
-      <key>dim</key>
+      <key>width9</key>
       <value>1</value>
     </param>
     <param>
-      <key>table</key>
-      
<value>alpha**0.5*1,alpha**0.5*1j,alpha**0.5*(-1j),alpha**0.5*(-1)</value>
+      <key>name</key>
+      <value>""</value>
     </param>
     <param>
-      <key>metric_type</key>
-      <value>digital.TRELLIS_EUCLIDEAN</value>
+      <key>nconnections</key>
+      <value>1</value>
     </param>
     <param>
-      <key>affinity</key>
-      <value></value>
+      <key>size</key>
+      <value>1024</value>
     </param>
     <param>
-      <key>minoutbuf</key>
+      <key>tr_chan</key>
       <value>0</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(75, 583)</value>
+      <key>tr_level</key>
+      <value>0.0</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>tr_mode</key>
+      <value>qtgui.TRIG_MODE_FREE</value>
     </param>
-  </block>
-  <block>
-    <key>trellis_viterbi_combined_xx</key>
     <param>
-      <key>id</key>
-      <value>trellis_viterbi_combined_xx_0_0</value>
+      <key>tr_slope</key>
+      <value>qtgui.TRIG_SLOPE_POS</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>tr_tag</key>
+      <value>""</value>
     </param>
     <param>
       <key>type</key>
-      <value>c</value>
+      <value>complex</value>
     </param>
     <param>
-      <key>out_type</key>
-      <value>b</value>
+      <key>update_time</key>
+      <value>0.10</value>
     </param>
     <param>
-      <key>fsm_args</key>
-      <value>prefix+fsm1</value>
+      <key>xmax</key>
+      <value>2</value>
     </param>
     <param>
-      <key>block_size</key>
-      <value>block</value>
+      <key>xmin</key>
+      <value>-2</value>
     </param>
     <param>
-      <key>init_state</key>
-      <value>-1</value>
+      <key>ymax</key>
+      <value>2</value>
     </param>
     <param>
-      <key>final_state</key>
-      <value>-1</value>
+      <key>ymin</key>
+      <value>-2</value>
     </param>
+  </block>
+  <block>
+    <key>qtgui_number_sink</key>
     <param>
-      <key>dim</key>
-      <value>1</value>
+      <key>autoscale</key>
+      <value>False</value>
     </param>
     <param>
-      <key>table</key>
-      
<value>alpha**0.5*1,alpha**0.5*1j,alpha**0.5*(-1j),alpha**0.5*(-1)</value>
+      <key>avg</key>
+      <value>0</value>
     </param>
     <param>
-      <key>metric_type</key>
-      <value>digital.TRELLIS_EUCLIDEAN</value>
+      <key>alias</key>
+      <value></value>
+    </param>
+    <param>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>affinity</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>_enabled</key>
+      <value>1</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(63, 1848)</value>
+      <value>(784, 468)</value>
+    </param>
+    <param>
+      <key>gui_hint</key>
+      <value>0,0,1,1</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>trellis_encoder_xx</key>
     <param>
-      <key>id</key>
-      <value>trellis_encoder_xx_0</value>
+      <key>graph_type</key>
+      <value>qtgui.NUM_GRAPH_HORIZ</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>id</key>
+      <value>qtgui_number_sink_0</value>
     </param>
     <param>
       <key>type</key>
-      <value>bb</value>
-    </param>
-    <param>
-      <key>fsm_args</key>
-      <value>prefix+fsm1</value>
+      <value>float</value>
     </param>
     <param>
-      <key>init_state</key>
-      <value>0</value>
+      <key>color1</key>
+      <value>("black", "black")</value>
     </param>
     <param>
-      <key>affinity</key>
-      <value></value>
+      <key>factor1</key>
+      <value>1</value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>label1</key>
+      <value>BER</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(337, 270)</value>
+      <key>unit1</key>
+      <value></value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>color10</key>
+      <value>("black", "black")</value>
     </param>
-  </block>
-  <block>
-    <key>trellis_encoder_xx</key>
     <param>
-      <key>id</key>
-      <value>trellis_encoder_xx_2</value>
+      <key>factor10</key>
+      <value>1</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>label10</key>
+      <value></value>
     </param>
     <param>
-      <key>type</key>
-      <value>bb</value>
+      <key>unit10</key>
+      <value></value>
     </param>
     <param>
-      <key>fsm_args</key>
-      <value>prefix+fsm1</value>
+      <key>color2</key>
+      <value>("black", "black")</value>
     </param>
     <param>
-      <key>init_state</key>
-      <value>0</value>
+      <key>factor2</key>
+      <value>1</value>
     </param>
     <param>
-      <key>affinity</key>
+      <key>label2</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>unit2</key>
+      <value></value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(87, 1251)</value>
+      <key>color3</key>
+      <value>("black", "black")</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>factor3</key>
+      <value>1</value>
     </param>
-  </block>
-  <block>
-    <key>trellis_encoder_xx</key>
     <param>
-      <key>id</key>
-      <value>trellis_encoder_xx_1</value>
+      <key>label3</key>
+      <value></value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>unit3</key>
+      <value></value>
     </param>
     <param>
-      <key>type</key>
-      <value>bb</value>
+      <key>color4</key>
+      <value>("black", "black")</value>
     </param>
     <param>
-      <key>fsm_args</key>
-      <value>prefix+fsm2</value>
+      <key>factor4</key>
+      <value>1</value>
     </param>
     <param>
-      <key>init_state</key>
-      <value>0</value>
+      <key>label4</key>
+      <value></value>
     </param>
     <param>
-      <key>affinity</key>
+      <key>unit4</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>color5</key>
+      <value>("black", "black")</value>
+    </param>
+    <param>
+      <key>factor5</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>label5</key>
+      <value></value>
+    </param>
+    <param>
+      <key>unit5</key>
+      <value></value>
+    </param>
+    <param>
+      <key>color6</key>
+      <value>("black", "black")</value>
+    </param>
+    <param>
+      <key>factor6</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>label6</key>
+      <value></value>
+    </param>
+    <param>
+      <key>unit6</key>
+      <value></value>
+    </param>
+    <param>
+      <key>color7</key>
+      <value>("black", "black")</value>
+    </param>
+    <param>
+      <key>factor7</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>label7</key>
+      <value></value>
+    </param>
+    <param>
+      <key>unit7</key>
+      <value></value>
+    </param>
+    <param>
+      <key>color8</key>
+      <value>("black", "black")</value>
+    </param>
+    <param>
+      <key>factor8</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>label8</key>
+      <value></value>
+    </param>
+    <param>
+      <key>unit8</key>
+      <value></value>
+    </param>
+    <param>
+      <key>color9</key>
+      <value>("black", "black")</value>
+    </param>
+    <param>
+      <key>factor9</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>label9</key>
+      <value></value>
+    </param>
+    <param>
+      <key>unit9</key>
+      <value></value>
+    </param>
+    <param>
+      <key>max</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>min</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>name</key>
+      <value>"BER1 (Raw)"</value>
+    </param>
+    <param>
+      <key>nconnections</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>update_time</key>
+      <value>0.10</value>
+    </param>
+  </block>
+  <block>
+    <key>qtgui_number_sink</key>
+    <param>
+      <key>autoscale</key>
+      <value>False</value>
+    </param>
+    <param>
+      <key>avg</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>alias</key>
+      <value></value>
+    </param>
+    <param>
+      <key>comment</key>
+      <value></value>
+    </param>
+    <param>
+      <key>affinity</key>
+      <value></value>
+    </param>
+    <param>
+      <key>_enabled</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>_coordinate</key>
+      <value>(792, 660)</value>
+    </param>
+    <param>
+      <key>gui_hint</key>
+      <value>0,1,1,1</value>
+    </param>
+    <param>
+      <key>_rotation</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>graph_type</key>
+      <value>qtgui.NUM_GRAPH_HORIZ</value>
+    </param>
+    <param>
+      <key>id</key>
+      <value>qtgui_number_sink_0_0</value>
+    </param>
+    <param>
+      <key>type</key>
+      <value>float</value>
+    </param>
+    <param>
+      <key>color1</key>
+      <value>("black", "black")</value>
+    </param>
+    <param>
+      <key>factor1</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>label1</key>
+      <value>BER</value>
+    </param>
+    <param>
+      <key>unit1</key>
+      <value></value>
+    </param>
+    <param>
+      <key>color10</key>
+      <value>("black", "black")</value>
+    </param>
+    <param>
+      <key>factor10</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>label10</key>
+      <value></value>
+    </param>
+    <param>
+      <key>unit10</key>
+      <value></value>
+    </param>
+    <param>
+      <key>color2</key>
+      <value>("black", "black")</value>
+    </param>
+    <param>
+      <key>factor2</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>label2</key>
+      <value></value>
+    </param>
+    <param>
+      <key>unit2</key>
+      <value></value>
+    </param>
+    <param>
+      <key>color3</key>
+      <value>("black", "black")</value>
+    </param>
+    <param>
+      <key>factor3</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>label3</key>
+      <value></value>
+    </param>
+    <param>
+      <key>unit3</key>
+      <value></value>
+    </param>
+    <param>
+      <key>color4</key>
+      <value>("black", "black")</value>
+    </param>
+    <param>
+      <key>factor4</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>label4</key>
+      <value></value>
+    </param>
+    <param>
+      <key>unit4</key>
+      <value></value>
+    </param>
+    <param>
+      <key>color5</key>
+      <value>("black", "black")</value>
+    </param>
+    <param>
+      <key>factor5</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>label5</key>
+      <value></value>
+    </param>
+    <param>
+      <key>unit5</key>
+      <value></value>
+    </param>
+    <param>
+      <key>color6</key>
+      <value>("black", "black")</value>
+    </param>
+    <param>
+      <key>factor6</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>label6</key>
+      <value></value>
+    </param>
+    <param>
+      <key>unit6</key>
+      <value></value>
+    </param>
+    <param>
+      <key>color7</key>
+      <value>("black", "black")</value>
+    </param>
+    <param>
+      <key>factor7</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>label7</key>
+      <value></value>
+    </param>
+    <param>
+      <key>unit7</key>
+      <value></value>
+    </param>
+    <param>
+      <key>color8</key>
+      <value>("black", "black")</value>
+    </param>
+    <param>
+      <key>factor8</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>label8</key>
+      <value></value>
+    </param>
+    <param>
+      <key>unit8</key>
+      <value></value>
+    </param>
+    <param>
+      <key>color9</key>
+      <value>("black", "black")</value>
+    </param>
+    <param>
+      <key>factor9</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>label9</key>
+      <value></value>
+    </param>
+    <param>
+      <key>unit9</key>
+      <value></value>
+    </param>
+    <param>
+      <key>max</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>min</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>name</key>
+      <value>"BER 2 (Raw)"</value>
+    </param>
+    <param>
+      <key>nconnections</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>update_time</key>
+      <value>0.10</value>
+    </param>
+  </block>
+  <block>
+    <key>qtgui_number_sink</key>
+    <param>
+      <key>autoscale</key>
+      <value>False</value>
+    </param>
+    <param>
+      <key>avg</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>alias</key>
+      <value></value>
+    </param>
+    <param>
+      <key>comment</key>
+      <value></value>
+    </param>
+    <param>
+      <key>affinity</key>
+      <value></value>
+    </param>
+    <param>
+      <key>_enabled</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>_coordinate</key>
+      <value>(600, 1044)</value>
+    </param>
+    <param>
+      <key>gui_hint</key>
+      <value>1,1,1,1</value>
+    </param>
+    <param>
+      <key>_rotation</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>graph_type</key>
+      <value>qtgui.NUM_GRAPH_HORIZ</value>
+    </param>
+    <param>
+      <key>id</key>
+      <value>qtgui_number_sink_0_0_0</value>
+    </param>
+    <param>
+      <key>type</key>
+      <value>float</value>
+    </param>
+    <param>
+      <key>color1</key>
+      <value>("black", "black")</value>
+    </param>
+    <param>
+      <key>factor1</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>label1</key>
+      <value>BER</value>
+    </param>
+    <param>
+      <key>unit1</key>
+      <value></value>
+    </param>
+    <param>
+      <key>color10</key>
+      <value>("black", "black")</value>
+    </param>
+    <param>
+      <key>factor10</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>label10</key>
+      <value></value>
+    </param>
+    <param>
+      <key>unit10</key>
+      <value></value>
+    </param>
+    <param>
+      <key>color2</key>
+      <value>("black", "black")</value>
+    </param>
+    <param>
+      <key>factor2</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>label2</key>
+      <value></value>
+    </param>
+    <param>
+      <key>unit2</key>
+      <value></value>
+    </param>
+    <param>
+      <key>color3</key>
+      <value>("black", "black")</value>
+    </param>
+    <param>
+      <key>factor3</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>label3</key>
+      <value></value>
+    </param>
+    <param>
+      <key>unit3</key>
+      <value></value>
+    </param>
+    <param>
+      <key>color4</key>
+      <value>("black", "black")</value>
+    </param>
+    <param>
+      <key>factor4</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>label4</key>
+      <value></value>
+    </param>
+    <param>
+      <key>unit4</key>
+      <value></value>
+    </param>
+    <param>
+      <key>color5</key>
+      <value>("black", "black")</value>
+    </param>
+    <param>
+      <key>factor5</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>label5</key>
+      <value></value>
+    </param>
+    <param>
+      <key>unit5</key>
+      <value></value>
+    </param>
+    <param>
+      <key>color6</key>
+      <value>("black", "black")</value>
+    </param>
+    <param>
+      <key>factor6</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>label6</key>
+      <value></value>
+    </param>
+    <param>
+      <key>unit6</key>
+      <value></value>
+    </param>
+    <param>
+      <key>color7</key>
+      <value>("black", "black")</value>
+    </param>
+    <param>
+      <key>factor7</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>label7</key>
+      <value></value>
+    </param>
+    <param>
+      <key>unit7</key>
+      <value></value>
+    </param>
+    <param>
+      <key>color8</key>
+      <value>("black", "black")</value>
+    </param>
+    <param>
+      <key>factor8</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>label8</key>
+      <value></value>
+    </param>
+    <param>
+      <key>unit8</key>
+      <value></value>
+    </param>
+    <param>
+      <key>color9</key>
+      <value>("black", "black")</value>
+    </param>
+    <param>
+      <key>factor9</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>label9</key>
+      <value></value>
+    </param>
+    <param>
+      <key>unit9</key>
+      <value></value>
+    </param>
+    <param>
+      <key>max</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>min</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>name</key>
+      <value>"BER 2 (after cancelling user 1)"</value>
+    </param>
+    <param>
+      <key>nconnections</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>update_time</key>
+      <value>0.10</value>
+    </param>
+  </block>
+  <block>
+    <key>qtgui_number_sink</key>
+    <param>
+      <key>autoscale</key>
+      <value>False</value>
+    </param>
+    <param>
+      <key>avg</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>alias</key>
+      <value></value>
+    </param>
+    <param>
+      <key>comment</key>
+      <value></value>
+    </param>
+    <param>
+      <key>affinity</key>
+      <value></value>
+    </param>
+    <param>
+      <key>_enabled</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>_coordinate</key>
+      <value>(632, 1340)</value>
+    </param>
+    <param>
+      <key>gui_hint</key>
+      <value>1,0,1,1</value>
+    </param>
+    <param>
+      <key>_rotation</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>graph_type</key>
+      <value>qtgui.NUM_GRAPH_HORIZ</value>
+    </param>
+    <param>
+      <key>id</key>
+      <value>qtgui_number_sink_0_0_0_0</value>
+    </param>
+    <param>
+      <key>type</key>
+      <value>float</value>
+    </param>
+    <param>
+      <key>color1</key>
+      <value>("black", "black")</value>
+    </param>
+    <param>
+      <key>factor1</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>label1</key>
+      <value>BER</value>
+    </param>
+    <param>
+      <key>unit1</key>
+      <value></value>
+    </param>
+    <param>
+      <key>color10</key>
+      <value>("black", "black")</value>
+    </param>
+    <param>
+      <key>factor10</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>label10</key>
+      <value></value>
+    </param>
+    <param>
+      <key>unit10</key>
+      <value></value>
+    </param>
+    <param>
+      <key>color2</key>
+      <value>("black", "black")</value>
+    </param>
+    <param>
+      <key>factor2</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>label2</key>
+      <value></value>
+    </param>
+    <param>
+      <key>unit2</key>
+      <value></value>
+    </param>
+    <param>
+      <key>color3</key>
+      <value>("black", "black")</value>
+    </param>
+    <param>
+      <key>factor3</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>label3</key>
+      <value></value>
+    </param>
+    <param>
+      <key>unit3</key>
+      <value></value>
+    </param>
+    <param>
+      <key>color4</key>
+      <value>("black", "black")</value>
+    </param>
+    <param>
+      <key>factor4</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>label4</key>
+      <value></value>
+    </param>
+    <param>
+      <key>unit4</key>
+      <value></value>
+    </param>
+    <param>
+      <key>color5</key>
+      <value>("black", "black")</value>
+    </param>
+    <param>
+      <key>factor5</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>label5</key>
+      <value></value>
+    </param>
+    <param>
+      <key>unit5</key>
+      <value></value>
+    </param>
+    <param>
+      <key>color6</key>
+      <value>("black", "black")</value>
+    </param>
+    <param>
+      <key>factor6</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>label6</key>
+      <value></value>
+    </param>
+    <param>
+      <key>unit6</key>
+      <value></value>
+    </param>
+    <param>
+      <key>color7</key>
+      <value>("black", "black")</value>
+    </param>
+    <param>
+      <key>factor7</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>label7</key>
+      <value></value>
+    </param>
+    <param>
+      <key>unit7</key>
+      <value></value>
+    </param>
+    <param>
+      <key>color8</key>
+      <value>("black", "black")</value>
+    </param>
+    <param>
+      <key>factor8</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>label8</key>
+      <value></value>
+    </param>
+    <param>
+      <key>unit8</key>
+      <value></value>
+    </param>
+    <param>
+      <key>color9</key>
+      <value>("black", "black")</value>
+    </param>
+    <param>
+      <key>factor9</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>label9</key>
+      <value></value>
+    </param>
+    <param>
+      <key>unit9</key>
+      <value></value>
+    </param>
+    <param>
+      <key>max</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>min</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>name</key>
+      <value>BER 1 (after cancelling user 2)</value>
+    </param>
+    <param>
+      <key>nconnections</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>update_time</key>
+      <value>0.10</value>
+    </param>
+  </block>
+  <block>
+    <key>trellis_encoder_xx</key>
+    <param>
+      <key>alias</key>
+      <value></value>
+    </param>
+    <param>
+      <key>blocklength</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>blockwise</key>
+      <value>False</value>
+    </param>
+    <param>
+      <key>comment</key>
+      <value></value>
+    </param>
+    <param>
+      <key>affinity</key>
+      <value></value>
+    </param>
+    <param>
+      <key>_enabled</key>
+      <value>True</value>
+    </param>
+    <param>
+      <key>fsm_args</key>
+      <value>prefix+fsm1</value>
+    </param>
+    <param>
+      <key>_coordinate</key>
+      <value>(192, 164)</value>
+    </param>
+    <param>
+      <key>_rotation</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>id</key>
+      <value>trellis_encoder_xx_0</value>
+    </param>
+    <param>
+      <key>init_state</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>maxoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>minoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>type</key>
+      <value>bb</value>
+    </param>
+  </block>
+  <block>
+    <key>trellis_encoder_xx</key>
+    <param>
+      <key>alias</key>
+      <value></value>
+    </param>
+    <param>
+      <key>blocklength</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>blockwise</key>
+      <value>False</value>
+    </param>
+    <param>
+      <key>comment</key>
+      <value></value>
+    </param>
+    <param>
+      <key>affinity</key>
+      <value></value>
+    </param>
+    <param>
+      <key>_enabled</key>
+      <value>True</value>
+    </param>
+    <param>
+      <key>fsm_args</key>
+      <value>prefix+fsm2</value>
+    </param>
+    <param>
+      <key>_coordinate</key>
+      <value>(192, 300)</value>
+    </param>
+    <param>
+      <key>_rotation</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>id</key>
+      <value>trellis_encoder_xx_1</value>
+    </param>
+    <param>
+      <key>init_state</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>maxoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>minoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>type</key>
+      <value>bb</value>
+    </param>
+  </block>
+  <block>
+    <key>trellis_encoder_xx</key>
+    <param>
+      <key>alias</key>
+      <value></value>
+    </param>
+    <param>
+      <key>blocklength</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>blockwise</key>
+      <value>False</value>
+    </param>
+    <param>
+      <key>comment</key>
+      <value></value>
+    </param>
+    <param>
+      <key>affinity</key>
+      <value></value>
+    </param>
+    <param>
+      <key>_enabled</key>
+      <value>True</value>
+    </param>
+    <param>
+      <key>fsm_args</key>
+      <value>prefix+fsm1</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(376, 381)</value>
+      <value>(192, 900)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
+    <param>
+      <key>id</key>
+      <value>trellis_encoder_xx_2</value>
+    </param>
+    <param>
+      <key>init_state</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>maxoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>minoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>type</key>
+      <value>bb</value>
+    </param>
   </block>
   <block>
-    <key>trellis_viterbi_combined_xx</key>
+    <key>trellis_encoder_xx</key>
+    <param>
+      <key>alias</key>
+      <value></value>
+    </param>
+    <param>
+      <key>blocklength</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>blockwise</key>
+      <value>False</value>
+    </param>
+    <param>
+      <key>comment</key>
+      <value></value>
+    </param>
+    <param>
+      <key>affinity</key>
+      <value></value>
+    </param>
+    <param>
+      <key>_enabled</key>
+      <value>True</value>
+    </param>
+    <param>
+      <key>fsm_args</key>
+      <value>prefix+fsm2</value>
+    </param>
+    <param>
+      <key>_coordinate</key>
+      <value>(184, 1212)</value>
+    </param>
+    <param>
+      <key>_rotation</key>
+      <value>0</value>
+    </param>
     <param>
       <key>id</key>
-      <value>trellis_viterbi_combined_xx_2</value>
+      <value>trellis_encoder_xx_2_0</value>
+    </param>
+    <param>
+      <key>init_state</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>maxoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>minoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>type</key>
+      <value>bb</value>
+    </param>
+  </block>
+  <block>
+    <key>trellis_viterbi_combined_xx</key>
+    <param>
+      <key>alias</key>
+      <value></value>
+    </param>
+    <param>
+      <key>block_size</key>
+      <value>block</value>
+    </param>
+    <param>
+      <key>comment</key>
+      <value></value>
+    </param>
+    <param>
+      <key>table</key>
+      
<value>(1-alpha)**0.5*1,(1-alpha)**0.5*1j,(1-alpha)**0.5*(-1j),(1-alpha)**0.5*(-1)</value>
+    </param>
+    <param>
+      <key>affinity</key>
+      <value></value>
+    </param>
+    <param>
+      <key>dim</key>
+      <value>1</value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
+      <key>fsm_args</key>
+      <value>prefix+fsm2</value>
+    </param>
+    <param>
+      <key>final_state</key>
+      <value>-1</value>
+    </param>
+    <param>
+      <key>_coordinate</key>
+      <value>(40, 1036)</value>
+    </param>
+    <param>
+      <key>_rotation</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>id</key>
+      <value>trellis_viterbi_combined_xx_0</value>
+    </param>
+    <param>
+      <key>init_state</key>
+      <value>-1</value>
+    </param>
+    <param>
       <key>type</key>
       <value>c</value>
     </param>
     <param>
+      <key>maxoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>metric_type</key>
+      <value>digital.TRELLIS_EUCLIDEAN</value>
+    </param>
+    <param>
+      <key>minoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
       <key>out_type</key>
       <value>b</value>
     </param>
+  </block>
+  <block>
+    <key>trellis_viterbi_combined_xx</key>
     <param>
-      <key>fsm_args</key>
-      <value>prefix+fsm2</value>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
       <key>block_size</key>
       <value>block</value>
     </param>
     <param>
-      <key>init_state</key>
-      <value>-1</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
-      <key>final_state</key>
-      <value>-1</value>
+      <key>table</key>
+      
<value>alpha**0.5*1,alpha**0.5*1j,alpha**0.5*(-1j),alpha**0.5*(-1)</value>
+    </param>
+    <param>
+      <key>affinity</key>
+      <value></value>
     </param>
     <param>
       <key>dim</key>
       <value>1</value>
     </param>
     <param>
-      <key>table</key>
-      
<value>(1-alpha)**0.5*1,(1-alpha)**0.5*1j,(1-alpha)**0.5*(-1j),(1-alpha)**0.5*(-1)</value>
+      <key>_enabled</key>
+      <value>True</value>
+    </param>
+    <param>
+      <key>fsm_args</key>
+      <value>prefix+fsm1</value>
+    </param>
+    <param>
+      <key>final_state</key>
+      <value>-1</value>
+    </param>
+    <param>
+      <key>_coordinate</key>
+      <value>(40, 1332)</value>
+    </param>
+    <param>
+      <key>_rotation</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>id</key>
+      <value>trellis_viterbi_combined_xx_0_0</value>
+    </param>
+    <param>
+      <key>init_state</key>
+      <value>-1</value>
+    </param>
+    <param>
+      <key>type</key>
+      <value>c</value>
+    </param>
+    <param>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
       <key>metric_type</key>
       <value>digital.TRELLIS_EUCLIDEAN</value>
     </param>
     <param>
+      <key>minoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>out_type</key>
+      <value>b</value>
+    </param>
+  </block>
+  <block>
+    <key>trellis_viterbi_combined_xx</key>
+    <param>
+      <key>alias</key>
+      <value></value>
+    </param>
+    <param>
+      <key>block_size</key>
+      <value>block</value>
+    </param>
+    <param>
+      <key>comment</key>
+      <value></value>
+    </param>
+    <param>
+      <key>table</key>
+      
<value>alpha**0.5*1,alpha**0.5*1j,alpha**0.5*(-1j),alpha**0.5*(-1)</value>
+    </param>
+    <param>
       <key>affinity</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>dim</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>_enabled</key>
+      <value>True</value>
+    </param>
+    <param>
+      <key>fsm_args</key>
+      <value>prefix+fsm1</value>
+    </param>
+    <param>
+      <key>final_state</key>
+      <value>-1</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(85, 931)</value>
+      <value>(208, 460)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>trellis_viterbi_combined_xx</key>
     <param>
       <key>id</key>
-      <value>trellis_viterbi_combined_xx_0</value>
+      <value>trellis_viterbi_combined_xx_1</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>init_state</key>
+      <value>-1</value>
     </param>
     <param>
       <key>type</key>
       <value>c</value>
     </param>
     <param>
+      <key>maxoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>metric_type</key>
+      <value>digital.TRELLIS_EUCLIDEAN</value>
+    </param>
+    <param>
+      <key>minoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
       <key>out_type</key>
       <value>b</value>
     </param>
+  </block>
+  <block>
+    <key>trellis_viterbi_combined_xx</key>
     <param>
-      <key>fsm_args</key>
-      <value>prefix+fsm2</value>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
       <key>block_size</key>
       <value>block</value>
     </param>
     <param>
-      <key>init_state</key>
-      <value>-1</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
-      <key>final_state</key>
-      <value>-1</value>
+      <key>table</key>
+      
<value>(1-alpha)**0.5*1,(1-alpha)**0.5*1j,(1-alpha)**0.5*(-1j),(1-alpha)**0.5*(-1)</value>
     </param>
     <param>
-      <key>dim</key>
-      <value>1</value>
+      <key>affinity</key>
+      <value></value>
     </param>
     <param>
-      <key>table</key>
-      
<value>(1-alpha)**0.5*1,(1-alpha)**0.5*1j,(1-alpha)**0.5*(-1j),(1-alpha)**0.5*(-1)</value>
+      <key>dim</key>
+      <value>1</value>
     </param>
     <param>
-      <key>metric_type</key>
-      <value>digital.TRELLIS_EUCLIDEAN</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
-      <key>affinity</key>
-      <value></value>
+      <key>fsm_args</key>
+      <value>prefix+fsm2</value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>final_state</key>
+      <value>-1</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(81, 1362)</value>
+      <value>(216, 652)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>trellis_encoder_xx</key>
     <param>
       <key>id</key>
-      <value>trellis_encoder_xx_2_0</value>
+      <value>trellis_viterbi_combined_xx_2</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>init_state</key>
+      <value>-1</value>
     </param>
     <param>
       <key>type</key>
-      <value>bb</value>
-    </param>
-    <param>
-      <key>fsm_args</key>
-      <value>prefix+fsm2</value>
+      <value>c</value>
     </param>
     <param>
-      <key>init_state</key>
+      <key>maxoutbuf</key>
       <value>0</value>
     </param>
     <param>
-      <key>affinity</key>
-      <value></value>
+      <key>metric_type</key>
+      <value>digital.TRELLIS_EUCLIDEAN</value>
     </param>
     <param>
       <key>minoutbuf</key>
       <value>0</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(91, 1719)</value>
-    </param>
-    <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>out_type</key>
+      <value>b</value>
     </param>
   </block>
   <block>
-    <key>wxgui_numbersink2</key>
+    <key>virtual_sink</key>
     <param>
-      <key>id</key>
-      <value>wxgui_numbersink2_3_0</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>type</key>
-      <value>float</value>
+      <key>_coordinate</key>
+      <value>(192, 228)</value>
     </param>
     <param>
-      <key>title</key>
-      <value>BER 1 (after cancelling user 2)</value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>units</key>
-      <value>BER</value>
+      <key>id</key>
+      <value>virtual_sink_0</value>
     </param>
     <param>
-      <key>samp_rate</key>
-      <value>R</value>
+      <key>stream_id</key>
+      <value>user1</value>
     </param>
+  </block>
+  <block>
+    <key>virtual_sink</key>
     <param>
-      <key>min_value</key>
-      <value>0</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
-      <key>max_value</key>
-      <value>1.0</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
-      <key>factor</key>
-      <value>1.0</value>
+      <key>_coordinate</key>
+      <value>(192, 364)</value>
     </param>
     <param>
-      <key>decimal_places</key>
-      <value>6</value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>ref_level</key>
-      <value>0</value>
+      <key>id</key>
+      <value>virtual_sink_0_0</value>
     </param>
     <param>
-      <key>number_rate</key>
-      <value>15</value>
+      <key>stream_id</key>
+      <value>user2</value>
     </param>
+  </block>
+  <block>
+    <key>virtual_sink</key>
     <param>
-      <key>peak_hold</key>
-      <value>False</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
-      <key>average</key>
-      <value>False</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
-      <key>avg_alpha</key>
-      <value>0.001</value>
+      <key>_coordinate</key>
+      <value>(1144, 380)</value>
     </param>
     <param>
-      <key>show_gauge</key>
-      <value>True</value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>win_size</key>
-      <value></value>
+      <key>id</key>
+      <value>virtual_sink_0_1</value>
     </param>
     <param>
-      <key>grid_pos</key>
-      <value>1,0,1,1</value>
+      <key>stream_id</key>
+      <value>observation</value>
     </param>
+  </block>
+  <block>
+    <key>virtual_sink</key>
     <param>
-      <key>notebook</key>
+      <key>comment</key>
       <value></value>
     </param>
     <param>
-      <key>affinity</key>
-      <value></value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(929, 1816)</value>
+      <value>(448, 572)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>variable_slider</key>
     <param>
       <key>id</key>
-      <value>alpha</value>
-    </param>
-    <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <value>virtual_sink_0_2</value>
     </param>
     <param>
-      <key>label</key>
-      <value>P1/P</value>
+      <key>stream_id</key>
+      <value>user1_est</value>
     </param>
+  </block>
+  <block>
+    <key>virtual_sink</key>
     <param>
-      <key>value</key>
-      <value>0.1</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
-      <key>min</key>
-      <value>0</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
-      <key>max</key>
-      <value>1.0</value>
+      <key>_coordinate</key>
+      <value>(456, 764)</value>
     </param>
     <param>
-      <key>num_steps</key>
-      <value>100</value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>style</key>
-      <value>wx.SL_HORIZONTAL</value>
+      <key>id</key>
+      <value>virtual_sink_0_2_0</value>
     </param>
     <param>
-      <key>converver</key>
-      <value>float_converter</value>
+      <key>stream_id</key>
+      <value>user2_est</value>
     </param>
+  </block>
+  <block>
+    <key>virtual_source</key>
     <param>
-      <key>grid_pos</key>
+      <key>comment</key>
       <value></value>
     </param>
     <param>
-      <key>notebook</key>
-      <value></value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(243, 11)</value>
+      <value>(408, 476)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>variable_slider</key>
     <param>
       <key>id</key>
-      <value>snr_db</value>
-    </param>
-    <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <value>virtual_source_0</value>
     </param>
     <param>
-      <key>label</key>
-      <value>P/sigma^2 (dB)</value>
+      <key>stream_id</key>
+      <value>user1</value>
     </param>
+  </block>
+  <block>
+    <key>virtual_source</key>
     <param>
-      <key>value</key>
-      <value>10</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
-      <key>min</key>
-      <value>0</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
-      <key>max</key>
-      <value>20</value>
+      <key>_coordinate</key>
+      <value>(240, 1348)</value>
     </param>
     <param>
-      <key>num_steps</key>
-      <value>100</value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>style</key>
-      <value>wx.SL_HORIZONTAL</value>
+      <key>id</key>
+      <value>virtual_source_0_0</value>
     </param>
     <param>
-      <key>converver</key>
-      <value>float_converter</value>
+      <key>stream_id</key>
+      <value>user1</value>
     </param>
+  </block>
+  <block>
+    <key>virtual_source</key>
     <param>
-      <key>grid_pos</key>
+      <key>comment</key>
       <value></value>
     </param>
     <param>
-      <key>notebook</key>
-      <value></value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(447, 14)</value>
+      <value>(0, 508)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
+    <param>
+      <key>id</key>
+      <value>virtual_source_0_1</value>
+    </param>
+    <param>
+      <key>stream_id</key>
+      <value>observation</value>
+    </param>
   </block>
   <block>
-    <key>blks2_error_rate</key>
+    <key>virtual_source</key>
     <param>
-      <key>id</key>
-      <value>blks2_error_rate_0</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>type</key>
-      <value>'BER'</value>
+      <key>_coordinate</key>
+      <value>(0, 700)</value>
     </param>
     <param>
-      <key>win_size</key>
-      <value>block*100</value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>bits_per_symbol</key>
-      <value>2</value>
+      <key>id</key>
+      <value>virtual_source_0_1_0</value>
     </param>
     <param>
-      <key>affinity</key>
+      <key>stream_id</key>
+      <value>observation</value>
+    </param>
+  </block>
+  <block>
+    <key>virtual_source</key>
+    <param>
+      <key>comment</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(724, 613)</value>
+      <value>(696, 852)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>blks2_error_rate</key>
     <param>
       <key>id</key>
-      <value>blks2_error_rate_0_0</value>
-    </param>
-    <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <value>virtual_source_0_1_1</value>
     </param>
     <param>
-      <key>type</key>
-      <value>'BER'</value>
+      <key>stream_id</key>
+      <value>observation</value>
     </param>
+  </block>
+  <block>
+    <key>virtual_source</key>
     <param>
-      <key>win_size</key>
-      <value>block*100</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
-      <key>bits_per_symbol</key>
-      <value>2</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
-      <key>affinity</key>
-      <value></value>
+      <key>_coordinate</key>
+      <value>(656, 1172)</value>
     </param>
     <param>
-      <key>minoutbuf</key>
+      <key>_rotation</key>
       <value>0</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(719, 943)</value>
+      <key>id</key>
+      <value>virtual_source_0_1_2</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>stream_id</key>
+      <value>observation</value>
     </param>
   </block>
   <block>
-    <key>blks2_error_rate</key>
+    <key>virtual_source</key>
     <param>
-      <key>id</key>
-      <value>blks2_error_rate_0_0_0</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>type</key>
-      <value>'BER'</value>
+      <key>_coordinate</key>
+      <value>(0, 908)</value>
     </param>
     <param>
-      <key>win_size</key>
-      <value>block*100</value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>bits_per_symbol</key>
-      <value>2</value>
+      <key>id</key>
+      <value>virtual_source_0_2</value>
     </param>
     <param>
-      <key>affinity</key>
+      <key>stream_id</key>
+      <value>user1_est</value>
+    </param>
+  </block>
+  <block>
+    <key>virtual_source</key>
+    <param>
+      <key>comment</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(725, 1399)</value>
+      <value>(0, 1220)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
+    <param>
+      <key>id</key>
+      <value>virtual_source_0_2_0</value>
+    </param>
+    <param>
+      <key>stream_id</key>
+      <value>user2_est</value>
+    </param>
   </block>
   <block>
-    <key>blks2_error_rate</key>
+    <key>virtual_source</key>
     <param>
-      <key>id</key>
-      <value>blks2_error_rate_0_0_0_0</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>type</key>
-      <value>'BER'</value>
+      <key>_coordinate</key>
+      <value>(408, 668)</value>
     </param>
     <param>
-      <key>win_size</key>
-      <value>block*100</value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>bits_per_symbol</key>
-      <value>2</value>
+      <key>id</key>
+      <value>virtual_source_0_3</value>
     </param>
     <param>
-      <key>affinity</key>
+      <key>stream_id</key>
+      <value>user2</value>
+    </param>
+  </block>
+  <block>
+    <key>virtual_source</key>
+    <param>
+      <key>comment</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(724, 1880)</value>
+      <value>(232, 1052)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
+    <param>
+      <key>id</key>
+      <value>virtual_source_0_4</value>
+    </param>
+    <param>
+      <key>stream_id</key>
+      <value>user2</value>
+    </param>
   </block>
   <connection>
-    <source_block_id>blocks_add_xx_1</source_block_id>
-    <sink_block_id>wxgui_scopesink2_0</sink_block_id>
+    <source_block_id>analog_noise_source_x_0</source_block_id>
+    <sink_block_id>blocks_add_xx_0</sink_block_id>
+    <source_key>0</source_key>
+    <sink_key>2</sink_key>
+  </connection>
+  <connection>
+    <source_block_id>analog_random_source_x_0</source_block_id>
+    <sink_block_id>trellis_encoder_xx_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>blocks_add_xx_1</source_block_id>
-    <sink_block_id>virtual_sink_0_1</sink_block_id>
+    <source_block_id>analog_random_source_x_0</source_block_id>
+    <sink_block_id>virtual_sink_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>trellis_viterbi_combined_xx_0_0</source_block_id>
-    <sink_block_id>blks2_error_rate_0_0_0_0</sink_block_id>
+    <source_block_id>analog_random_source_x_1</source_block_id>
+    <sink_block_id>trellis_encoder_xx_1</sink_block_id>
     <source_key>0</source_key>
-    <sink_key>1</sink_key>
+    <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>virtual_source_0_0</source_block_id>
-    <sink_block_id>blks2_error_rate_0_0_0_0</sink_block_id>
+    <source_block_id>analog_random_source_x_1</source_block_id>
+    <sink_block_id>virtual_sink_0_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>blks2_error_rate_0_0_0_0</source_block_id>
-    <sink_block_id>wxgui_numbersink2_3_0</sink_block_id>
+    <source_block_id>blks2_error_rate_0</source_block_id>
+    <sink_block_id>qtgui_number_sink_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>virtual_source_0_2_0</source_block_id>
-    <sink_block_id>trellis_encoder_xx_2_0</sink_block_id>
+    <source_block_id>blks2_error_rate_0_0</source_block_id>
+    <sink_block_id>qtgui_number_sink_0_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>virtual_source_0_1_2</source_block_id>
-    <sink_block_id>blocks_sub_xx_2_0</sink_block_id>
+    <source_block_id>blks2_error_rate_0_0_0</source_block_id>
+    <sink_block_id>qtgui_number_sink_0_0_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>digital_chunks_to_symbols_xx_0_0_1</source_block_id>
-    <sink_block_id>blocks_multiply_const_vxx_2_0</sink_block_id>
+    <source_block_id>blks2_error_rate_0_0_0_0</source_block_id>
+    <sink_block_id>qtgui_number_sink_0_0_0_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>trellis_encoder_xx_2_0</source_block_id>
-    <sink_block_id>digital_chunks_to_symbols_xx_0_0_1</sink_block_id>
+    <source_block_id>blocks_add_xx_0</source_block_id>
+    <sink_block_id>qtgui_const_sink_x_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>blocks_multiply_const_vxx_2_0</source_block_id>
-    <sink_block_id>blocks_sub_xx_2_0</sink_block_id>
+    <source_block_id>blocks_add_xx_0</source_block_id>
+    <sink_block_id>virtual_sink_0_1</sink_block_id>
     <source_key>0</source_key>
-    <sink_key>1</sink_key>
+    <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>blocks_sub_xx_2_0</source_block_id>
-    <sink_block_id>trellis_viterbi_combined_xx_0_0</sink_block_id>
+    <source_block_id>blocks_multiply_const_vxx_0</source_block_id>
+    <sink_block_id>blocks_add_xx_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>trellis_viterbi_combined_xx_0</source_block_id>
-    <sink_block_id>blks2_error_rate_0_0_0</sink_block_id>
+    <source_block_id>blocks_multiply_const_vxx_1</source_block_id>
+    <sink_block_id>blocks_add_xx_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>1</sink_key>
   </connection>
   <connection>
-    <source_block_id>virtual_source_0_4</source_block_id>
-    <sink_block_id>blks2_error_rate_0_0_0</sink_block_id>
+    <source_block_id>blocks_multiply_const_vxx_2</source_block_id>
+    <sink_block_id>blocks_sub_xx_2</sink_block_id>
     <source_key>0</source_key>
-    <sink_key>0</sink_key>
+    <sink_key>1</sink_key>
   </connection>
   <connection>
-    <source_block_id>blks2_error_rate_0_0_0</source_block_id>
-    <sink_block_id>wxgui_numbersink2_3</sink_block_id>
+    <source_block_id>blocks_multiply_const_vxx_2_0</source_block_id>
+    <sink_block_id>blocks_sub_xx_2_0</sink_block_id>
     <source_key>0</source_key>
-    <sink_key>0</sink_key>
+    <sink_key>1</sink_key>
   </connection>
   <connection>
-    <source_block_id>virtual_source_0_2</source_block_id>
-    <sink_block_id>trellis_encoder_xx_2</sink_block_id>
+    <source_block_id>blocks_sub_xx_2</source_block_id>
+    <sink_block_id>trellis_viterbi_combined_xx_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>virtual_source_0_1_1</source_block_id>
-    <sink_block_id>blocks_sub_xx_2</sink_block_id>
+    <source_block_id>blocks_sub_xx_2_0</source_block_id>
+    <sink_block_id>trellis_viterbi_combined_xx_0_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>digital_chunks_to_symbols_xx_0_0_0</source_block_id>
-    <sink_block_id>blocks_multiply_const_vxx_2</sink_block_id>
+    <source_block_id>blocks_throttle_0</source_block_id>
+    <sink_block_id>digital_chunks_to_symbols_xx_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>trellis_encoder_xx_2</source_block_id>
-    <sink_block_id>digital_chunks_to_symbols_xx_0_0_0</sink_block_id>
+    <source_block_id>digital_chunks_to_symbols_xx_0</source_block_id>
+    <sink_block_id>blocks_multiply_const_vxx_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>blocks_multiply_const_vxx_2</source_block_id>
-    <sink_block_id>blocks_sub_xx_2</sink_block_id>
+    <source_block_id>digital_chunks_to_symbols_xx_0_0</source_block_id>
+    <sink_block_id>blocks_multiply_const_vxx_1</sink_block_id>
     <source_key>0</source_key>
-    <sink_key>1</sink_key>
+    <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>blocks_sub_xx_2</source_block_id>
-    <sink_block_id>trellis_viterbi_combined_xx_0</sink_block_id>
+    <source_block_id>digital_chunks_to_symbols_xx_0_0_0</source_block_id>
+    <sink_block_id>blocks_multiply_const_vxx_2</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>blks2_error_rate_0_0</source_block_id>
-    <sink_block_id>wxgui_numbersink2_2</sink_block_id>
+    <source_block_id>digital_chunks_to_symbols_xx_0_0_1</source_block_id>
+    <sink_block_id>blocks_multiply_const_vxx_2_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>virtual_source_0_3</source_block_id>
-    <sink_block_id>blks2_error_rate_0_0</sink_block_id>
+    <source_block_id>trellis_encoder_xx_0</source_block_id>
+    <sink_block_id>blocks_throttle_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>trellis_viterbi_combined_xx_2</source_block_id>
-    <sink_block_id>blks2_error_rate_0_0</sink_block_id>
+    <source_block_id>trellis_encoder_xx_1</source_block_id>
+    <sink_block_id>digital_chunks_to_symbols_xx_0_0</sink_block_id>
     <source_key>0</source_key>
-    <sink_key>1</sink_key>
+    <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>trellis_viterbi_combined_xx_2</source_block_id>
-    <sink_block_id>virtual_sink_0_2_0</sink_block_id>
+    <source_block_id>trellis_encoder_xx_2</source_block_id>
+    <sink_block_id>digital_chunks_to_symbols_xx_0_0_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>virtual_source_0_1_0</source_block_id>
-    <sink_block_id>trellis_viterbi_combined_xx_2</sink_block_id>
+    <source_block_id>trellis_encoder_xx_2_0</source_block_id>
+    <sink_block_id>digital_chunks_to_symbols_xx_0_0_1</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>blks2_error_rate_0</source_block_id>
-    <sink_block_id>wxgui_numbersink2_0</sink_block_id>
+    <source_block_id>trellis_viterbi_combined_xx_0</source_block_id>
+    <sink_block_id>blks2_error_rate_0_0_0</sink_block_id>
     <source_key>0</source_key>
-    <sink_key>0</sink_key>
+    <sink_key>1</sink_key>
   </connection>
   <connection>
-    <source_block_id>virtual_source_0</source_block_id>
-    <sink_block_id>blks2_error_rate_0</sink_block_id>
+    <source_block_id>trellis_viterbi_combined_xx_0_0</source_block_id>
+    <sink_block_id>blks2_error_rate_0_0_0_0</sink_block_id>
     <source_key>0</source_key>
-    <sink_key>0</sink_key>
+    <sink_key>1</sink_key>
   </connection>
   <connection>
     <source_block_id>trellis_viterbi_combined_xx_1</source_block_id>
@@ -2511,86 +3787,74 @@
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>virtual_source_0_1</source_block_id>
-    <sink_block_id>trellis_viterbi_combined_xx_1</sink_block_id>
+    <source_block_id>trellis_viterbi_combined_xx_2</source_block_id>
+    <sink_block_id>blks2_error_rate_0_0</sink_block_id>
     <source_key>0</source_key>
-    <sink_key>0</sink_key>
+    <sink_key>1</sink_key>
   </connection>
   <connection>
-    <source_block_id>analog_random_source_x_1</source_block_id>
-    <sink_block_id>virtual_sink_0_0</sink_block_id>
+    <source_block_id>trellis_viterbi_combined_xx_2</source_block_id>
+    <sink_block_id>virtual_sink_0_2_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>analog_random_source_x_0</source_block_id>
-    <sink_block_id>virtual_sink_0</sink_block_id>
+    <source_block_id>virtual_source_0</source_block_id>
+    <sink_block_id>blks2_error_rate_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>trellis_encoder_xx_1</source_block_id>
-    <sink_block_id>digital_chunks_to_symbols_xx_0_0</sink_block_id>
+    <source_block_id>virtual_source_0_0</source_block_id>
+    <sink_block_id>blks2_error_rate_0_0_0_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>digital_chunks_to_symbols_xx_0_0</source_block_id>
-    <sink_block_id>blocks_multiply_const_vxx_1</sink_block_id>
+    <source_block_id>virtual_source_0_1</source_block_id>
+    <sink_block_id>trellis_viterbi_combined_xx_1</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>digital_chunks_to_symbols_xx_0</source_block_id>
-    <sink_block_id>blocks_multiply_const_vxx_0</sink_block_id>
+    <source_block_id>virtual_source_0_1_0</source_block_id>
+    <sink_block_id>trellis_viterbi_combined_xx_2</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>blocks_throttle_0</source_block_id>
-    <sink_block_id>digital_chunks_to_symbols_xx_0</sink_block_id>
+    <source_block_id>virtual_source_0_1_1</source_block_id>
+    <sink_block_id>blocks_sub_xx_2</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>trellis_encoder_xx_0</source_block_id>
-    <sink_block_id>blocks_throttle_0</sink_block_id>
+    <source_block_id>virtual_source_0_1_2</source_block_id>
+    <sink_block_id>blocks_sub_xx_2_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>analog_random_source_x_0</source_block_id>
-    <sink_block_id>trellis_encoder_xx_0</sink_block_id>
+    <source_block_id>virtual_source_0_2</source_block_id>
+    <sink_block_id>trellis_encoder_xx_2</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>analog_random_source_x_1</source_block_id>
-    <sink_block_id>trellis_encoder_xx_1</sink_block_id>
+    <source_block_id>virtual_source_0_2_0</source_block_id>
+    <sink_block_id>trellis_encoder_xx_2_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>analog_noise_source_x_0</source_block_id>
-    <sink_block_id>blocks_add_xx_1</sink_block_id>
-    <source_key>0</source_key>
-    <sink_key>1</sink_key>
-  </connection>
-  <connection>
-    <source_block_id>blocks_multiply_const_vxx_1</source_block_id>
-    <sink_block_id>blocks_add_xx_0</sink_block_id>
-    <source_key>0</source_key>
-    <sink_key>1</sink_key>
-  </connection>
-  <connection>
-    <source_block_id>blocks_add_xx_0</source_block_id>
-    <sink_block_id>blocks_add_xx_1</sink_block_id>
+    <source_block_id>virtual_source_0_3</source_block_id>
+    <sink_block_id>blks2_error_rate_0_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>blocks_multiply_const_vxx_0</source_block_id>
-    <sink_block_id>blocks_add_xx_0</sink_block_id>
+    <source_block_id>virtual_source_0_4</source_block_id>
+    <sink_block_id>blks2_error_rate_0_0_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
diff --git a/gr-trellis/examples/grc/pccc.grc b/gr-trellis/examples/grc/pccc.grc
index e10c70a..d61d02f 100644
--- a/gr-trellis/examples/grc/pccc.grc
+++ b/gr-trellis/examples/grc/pccc.grc
@@ -1,547 +1,626 @@
-<?xml version='1.0' encoding='ASCII'?>
-<?grc format='1' created='3.7.6'?>
+<?xml version='1.0' encoding='utf-8'?>
+<?grc format='1' created='3.7.11'?>
 <flow_graph>
   <timestamp>Fri Sep 26 12:26:16 2014</timestamp>
   <block>
     <key>options</key>
     <param>
-      <key>id</key>
-      <value>pccc</value>
+      <key>author</key>
+      <value>AA</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>window_size</key>
+      <value>2048, 2048</value>
     </param>
     <param>
-      <key>title</key>
-      <value>Parallel Concatenated Convolutional Code</value>
+      <key>category</key>
+      <value>Custom</value>
     </param>
     <param>
-      <key>author</key>
-      <value>AA</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>description</key>
       <value>gnuradio flow graph</value>
     </param>
     <param>
-      <key>window_size</key>
-      <value>2048, 2048</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
-      <key>generate_options</key>
-      <value>wx_gui</value>
+      <key>_coordinate</key>
+      <value>(0, 4)</value>
     </param>
     <param>
-      <key>category</key>
-      <value>Custom</value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>run_options</key>
-      <value>prompt</value>
+      <key>generate_options</key>
+      <value>qt_gui</value>
     </param>
     <param>
-      <key>run</key>
-      <value>True</value>
+      <key>hier_block_src_path</key>
+      <value>.:</value>
+    </param>
+    <param>
+      <key>id</key>
+      <value>pccc</value>
     </param>
     <param>
       <key>max_nouts</key>
       <value>0</value>
     </param>
     <param>
-      <key>realtime_scheduling</key>
+      <key>qt_qss_theme</key>
       <value></value>
     </param>
     <param>
-      <key>alias</key>
+      <key>realtime_scheduling</key>
       <value></value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(10, 10)</value>
+      <key>run_command</key>
+      <value>{python} -u {filename}</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>run_options</key>
+      <value>prompt</value>
+    </param>
+    <param>
+      <key>run</key>
+      <value>True</value>
+    </param>
+    <param>
+      <key>thread_safe_setters</key>
+      <value></value>
+    </param>
+    <param>
+      <key>title</key>
+      <value>Parallel Concatenated Convolutional Code</value>
     </param>
   </block>
   <block>
     <key>variable</key>
     <param>
-      <key>id</key>
-      <value>prefix</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>value</key>
-      <value>"@FSM_FILE_INSTALL_DIR@"</value>
+      <key>_coordinate</key>
+      <value>(728, 4)</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(320, 21)</value>
+      <key>id</key>
+      <value>Es</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>value</key>
+      
<value>sum(numpy.square(constellation))/(len(constellation)/(1.0*dim))</value>
     </param>
   </block>
   <block>
-    <key>variable</key>
+    <key>variable_qtgui_range</key>
     <param>
-      <key>id</key>
-      <value>R</value>
+      <key>comment</key>
+      <value></value>
+    </param>
+    <param>
+      <key>value</key>
+      <value>2</value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>value</key>
-      <value>100e3</value>
+      <key>_coordinate</key>
+      <value>(864, 140)</value>
     </param>
     <param>
-      <key>alias</key>
+      <key>gui_hint</key>
       <value></value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(200, 101)</value>
-    </param>
-    <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>variable</key>
     <param>
       <key>id</key>
-      <value>block</value>
+      <value>EsN0_dB</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>label</key>
+      <value>Es/N0 (dB)</value>
     </param>
     <param>
-      <key>value</key>
-      <value>1000</value>
+      <key>min_len</key>
+      <value>200</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>orient</key>
+      <value>Qt.Horizontal</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(200, 37)</value>
+      <key>start</key>
+      <value>-10</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>step</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>stop</key>
+      <value>20</value>
+    </param>
+    <param>
+      <key>rangeType</key>
+      <value>float</value>
+    </param>
+    <param>
+      <key>widget</key>
+      <value>counter_slider</value>
     </param>
   </block>
   <block>
     <key>variable</key>
     <param>
-      <key>id</key>
-      <value>dim</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>value</key>
-      <value>mod[0]</value>
+      <key>_coordinate</key>
+      <value>(184, 68)</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(688, 317)</value>
+      <key>id</key>
+      <value>R</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>value</key>
+      <value>100e3</value>
     </param>
   </block>
   <block>
     <key>variable</key>
     <param>
-      <key>id</key>
-      <value>constellation</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>value</key>
-      <value>mod[1]</value>
+      <key>_coordinate</key>
+      <value>(184, 4)</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(528, 317)</value>
+      <key>id</key>
+      <value>block</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>value</key>
+      <value>1000</value>
     </param>
   </block>
   <block>
     <key>variable</key>
     <param>
-      <key>id</key>
-      <value>dim</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
-      <value>False</value>
+      <value>True</value>
     </param>
     <param>
-      <key>value</key>
-      <value>2</value>
+      <key>_coordinate</key>
+      <value>(488, 132)</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(688, 189)</value>
+      <key>id</key>
+      <value>constellation</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>value</key>
+      <value>mod[1]</value>
     </param>
   </block>
   <block>
     <key>variable</key>
     <param>
-      <key>id</key>
-      <value>constellation</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
       <value>False</value>
     </param>
     <param>
-      <key>value</key>
-      <value>-3,-3,-1,-3,1,-3,3,-3,   -3,-1,-1,-1,1,-1,3,-1,     
-3,1,-1,1,1,1,3,1,     -3,3,-1,3,1,3,3,3        </value>
+      <key>_coordinate</key>
+      <value>(488, 4)</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(528, 189)</value>
+      <key>id</key>
+      <value>constellation</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>value</key>
+      <value>-3,-3,-1,-3,1,-3,3,-3,   -3,-1,-1,-1,1,-1,3,-1,     
-3,1,-1,1,1,1,3,1,     -3,3,-1,3,1,3,3,3        </value>
     </param>
   </block>
   <block>
     <key>variable</key>
     <param>
-      <key>id</key>
-      <value>Es</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>value</key>
-      
<value>sum(numpy.square(constellation))/(len(constellation)/(1.0*dim))</value>
+      <key>_coordinate</key>
+      <value>(648, 132)</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(776, 141)</value>
+      <key>id</key>
+      <value>dim</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>value</key>
+      <value>mod[0]</value>
     </param>
   </block>
   <block>
     <key>variable</key>
     <param>
-      <key>id</key>
-      <value>noisevar</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
-      <value>True</value>
+      <value>False</value>
     </param>
     <param>
-      <key>value</key>
-      <value>10**(-EsN0_dB/10.0)  * Es   /2.0</value>
+      <key>_coordinate</key>
+      <value>(648, 4)</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(1032, 149)</value>
+      <key>id</key>
+      <value>dim</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>value</key>
+      <value>2</value>
     </param>
   </block>
   <block>
     <key>variable</key>
     <param>
-      <key>id</key>
-      <value>interleaver</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>value</key>
-      <value>trellis.interleaver(block,666)</value>
-    </param>
-    <param>
-      <key>alias</key>
-      <value></value>
-    </param>
-    <param>
       <key>_coordinate</key>
-      <value>(320, 213)</value>
+      <value>(288, 68)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>variable</key>
     <param>
       <key>id</key>
       <value>fsm1</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
-    </param>
-    <param>
       <key>value</key>
       <value>trellis.fsm(prefix+"awgn1o2_4rsc.fsm")</value>
     </param>
+  </block>
+  <block>
+    <key>variable</key>
     <param>
-      <key>alias</key>
+      <key>comment</key>
       <value></value>
     </param>
     <param>
+      <key>_enabled</key>
+      <value>True</value>
+    </param>
+    <param>
       <key>_coordinate</key>
-      <value>(320, 85)</value>
+      <value>(288, 132)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>variable</key>
     <param>
       <key>id</key>
       <value>fsm2</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
-    </param>
-    <param>
       <key>value</key>
       <value>trellis.fsm(prefix+"awgn1o1_4rsc.fsm")</value>
     </param>
+  </block>
+  <block>
+    <key>variable</key>
     <param>
-      <key>alias</key>
+      <key>comment</key>
       <value></value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(320, 149)</value>
+      <key>_enabled</key>
+      <value>True</value>
+    </param>
+    <param>
+      <key>_coordinate</key>
+      <value>(288, 196)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
+    <param>
+      <key>id</key>
+      <value>interleaver</value>
+    </param>
+    <param>
+      <key>value</key>
+      <value>trellis.interleaver(block,666)</value>
+    </param>
   </block>
   <block>
     <key>variable</key>
     <param>
-      <key>id</key>
-      <value>mod</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
+      <key>_coordinate</key>
+      <value>(480, 68)</value>
+    </param>
+    <param>
+      <key>_rotation</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>id</key>
+      <value>mod</value>
+    </param>
+    <param>
       <key>value</key>
       <value>fu.psk2x3</value>
     </param>
+  </block>
+  <block>
+    <key>variable</key>
     <param>
-      <key>alias</key>
+      <key>comment</key>
       <value></value>
     </param>
     <param>
+      <key>_enabled</key>
+      <value>True</value>
+    </param>
+    <param>
       <key>_coordinate</key>
-      <value>(576, 253)</value>
+      <value>(648, 68)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>virtual_source</key>
     <param>
       <key>id</key>
-      <value>virtual_source_0_0</value>
+      <value>noisevar</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>value</key>
+      <value>10**(-EsN0_dB/10.0)  * Es   /2.0</value>
     </param>
+  </block>
+  <block>
+    <key>variable</key>
     <param>
-      <key>stream_id</key>
-      <value>info</value>
+      <key>comment</key>
+      <value></value>
+    </param>
+    <param>
+      <key>_enabled</key>
+      <value>1</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(104, 1220)</value>
+      <value>(288, 4)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
+    <param>
+      <key>id</key>
+      <value>prefix</value>
+    </param>
+    <param>
+      <key>value</key>
+      <value>"@FSM_FILE_INSTALL_DIR@"</value>
+    </param>
   </block>
   <block>
-    <key>virtual_source</key>
+    <key>analog_noise_source_x</key>
     <param>
-      <key>id</key>
-      <value>virtual_source_0_0_0</value>
+      <key>amp</key>
+      <value>noisevar**0.5</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
-      <key>stream_id</key>
-      <value>estimate</value>
+      <key>comment</key>
+      <value></value>
+    </param>
+    <param>
+      <key>affinity</key>
+      <value></value>
+    </param>
+    <param>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(88, 1292)</value>
+      <value>(648, 412)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>wxgui_numbersink2</key>
     <param>
       <key>id</key>
-      <value>wxgui_numbersink2_3_0_0</value>
+      <value>analog_noise_source_x_0</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>minoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>noise_type</key>
+      <value>analog.GR_GAUSSIAN</value>
     </param>
     <param>
       <key>type</key>
       <value>float</value>
     </param>
     <param>
-      <key>title</key>
-      <value>BER</value>
+      <key>seed</key>
+      <value>-42</value>
     </param>
+  </block>
+  <block>
+    <key>analog_random_source_x</key>
     <param>
-      <key>units</key>
-      <value>BER</value>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
-      <key>samp_rate</key>
-      <value>R</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
-      <key>min_value</key>
-      <value>0</value>
+      <key>affinity</key>
+      <value></value>
+    </param>
+    <param>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
-      <key>max_value</key>
-      <value>1.0</value>
+      <key>_coordinate</key>
+      <value>(0, 316)</value>
     </param>
     <param>
-      <key>factor</key>
-      <value>1.0</value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>decimal_places</key>
-      <value>6</value>
+      <key>id</key>
+      <value>analog_random_source_x_0_0</value>
     </param>
     <param>
-      <key>ref_level</key>
+      <key>maxoutbuf</key>
       <value>0</value>
     </param>
     <param>
-      <key>number_rate</key>
-      <value>15</value>
+      <key>max</key>
+      <value>2</value>
     </param>
     <param>
-      <key>peak_hold</key>
-      <value>False</value>
+      <key>minoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>average</key>
-      <value>False</value>
+      <key>min</key>
+      <value>0</value>
     </param>
     <param>
-      <key>avg_alpha</key>
-      <value>0.001</value>
+      <key>num_samps</key>
+      <value>block</value>
     </param>
     <param>
-      <key>show_gauge</key>
-      <value>False</value>
+      <key>type</key>
+      <value>byte</value>
     </param>
     <param>
-      <key>win_size</key>
-      <value></value>
+      <key>repeat</key>
+      <value>True</value>
     </param>
+  </block>
+  <block>
+    <key>blks2_error_rate</key>
     <param>
-      <key>grid_pos</key>
-      <value></value>
+      <key>bits_per_symbol</key>
+      <value>1</value>
     </param>
     <param>
-      <key>notebook</key>
+      <key>alias</key>
       <value></value>
     </param>
     <param>
-      <key>alias</key>
+      <key>comment</key>
       <value></value>
     </param>
     <param>
@@ -549,23 +628,28 @@
       <value></value>
     </param>
     <param>
+      <key>_enabled</key>
+      <value>True</value>
+    </param>
+    <param>
       <key>_coordinate</key>
-      <value>(680, 1205)</value>
+      <value>(256, 704)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>blks2_error_rate</key>
     <param>
       <key>id</key>
       <value>blks2_error_rate_0</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>minoutbuf</key>
+      <value>0</value>
     </param>
     <param>
       <key>type</key>
@@ -575,132 +659,121 @@
       <key>win_size</key>
       <value>block*100</value>
     </param>
-    <param>
-      <key>bits_per_symbol</key>
-      <value>1</value>
-    </param>
+  </block>
+  <block>
+    <key>blocks_add_xx</key>
     <param>
       <key>alias</key>
       <value></value>
     </param>
     <param>
-      <key>affinity</key>
+      <key>comment</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>affinity</key>
+      <value></value>
     </param>
     <param>
-      <key>maxoutbuf</key>
-      <value>0</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(304, 1256)</value>
+      <value>(864, 344)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>virtual_sink</key>
     <param>
       <key>id</key>
-      <value>virtual_sink_0_1</value>
-    </param>
-    <param>
-      <key>_enabled</key>
-      <value>True</value>
-    </param>
-    <param>
-      <key>stream_id</key>
-      <value>estimate</value>
+      <value>blocks_add_xx_1</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(768, 940)</value>
+      <key>type</key>
+      <value>float</value>
     </param>
     <param>
-      <key>_rotation</key>
+      <key>maxoutbuf</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>virtual_source</key>
     <param>
-      <key>id</key>
-      <value>virtual_source_0</value>
+      <key>minoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>num_inputs</key>
+      <value>2</value>
     </param>
     <param>
-      <key>stream_id</key>
-      <value>observation</value>
+      <key>vlen</key>
+      <value>1</value>
     </param>
+  </block>
+  <block>
+    <key>blocks_throttle</key>
     <param>
-      <key>_coordinate</key>
-      <value>(104, 940)</value>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>comment</key>
+      <value></value>
     </param>
-  </block>
-  <block>
-    <key>virtual_sink</key>
     <param>
-      <key>id</key>
-      <value>virtual_sink_0_0</value>
+      <key>affinity</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>stream_id</key>
-      <value>info</value>
-    </param>
-    <param>
       <key>_coordinate</key>
-      <value>(224, 412)</value>
+      <value>(200, 340)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>blocks_throttle</key>
     <param>
       <key>id</key>
       <value>blocks_throttle_0_0</value>
     </param>
     <param>
-      <key>_enabled</key>
+      <key>ignoretag</key>
       <value>True</value>
     </param>
     <param>
-      <key>type</key>
-      <value>byte</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>minoutbuf</key>
+      <value>0</value>
     </param>
     <param>
       <key>samples_per_second</key>
       <value>R</value>
     </param>
     <param>
+      <key>type</key>
+      <value>byte</value>
+    </param>
+    <param>
       <key>vlen</key>
       <value>1</value>
     </param>
+  </block>
+  <block>
+    <key>digital_chunks_to_symbols_xx</key>
     <param>
-      <key>ignoretag</key>
-      <value>True</value>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
-      <key>alias</key>
+      <key>comment</key>
       <value></value>
     </param>
     <param>
@@ -708,524 +781,667 @@
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>dimension</key>
+      <value>dim</value>
     </param>
     <param>
-      <key>maxoutbuf</key>
-      <value>0</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(208, 492)</value>
+      <value>(624, 332)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
+    <param>
+      <key>id</key>
+      <value>digital_chunks_to_symbols_xx_0</value>
+    </param>
+    <param>
+      <key>in_type</key>
+      <value>byte</value>
+    </param>
+    <param>
+      <key>maxoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>minoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>num_ports</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>out_type</key>
+      <value>float</value>
+    </param>
+    <param>
+      <key>symbol_table</key>
+      <value>constellation</value>
+    </param>
   </block>
   <block>
-    <key>analog_noise_source_x</key>
+    <key>import</key>
     <param>
-      <key>id</key>
-      <value>analog_noise_source_x_0</value>
+      <key>alias</key>
+      <value></value>
+    </param>
+    <param>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>type</key>
-      <value>float</value>
+      <key>_coordinate</key>
+      <value>(0, 124)</value>
     </param>
     <param>
-      <key>noise_type</key>
-      <value>analog.GR_GAUSSIAN</value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>amp</key>
-      <value>noisevar**0.5</value>
+      <key>id</key>
+      <value>import_0_0</value>
     </param>
     <param>
-      <key>seed</key>
-      <value>-42</value>
+      <key>import</key>
+      <value>import gnuradio.trellis.fsm_utils as fu</value>
+    </param>
+  </block>
+  <block>
+    <key>qtgui_number_sink</key>
+    <param>
+      <key>autoscale</key>
+      <value>False</value>
+    </param>
+    <param>
+      <key>avg</key>
+      <value>0</value>
     </param>
     <param>
       <key>alias</key>
       <value></value>
     </param>
     <param>
-      <key>affinity</key>
+      <key>comment</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>affinity</key>
+      <value></value>
     </param>
     <param>
-      <key>maxoutbuf</key>
-      <value>0</value>
+      <key>_enabled</key>
+      <value>1</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(656, 646)</value>
+      <value>(608, 692)</value>
+    </param>
+    <param>
+      <key>gui_hint</key>
+      <value></value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>blocks_add_xx</key>
     <param>
-      <key>id</key>
-      <value>blocks_add_xx_1</value>
+      <key>graph_type</key>
+      <value>qtgui.NUM_GRAPH_HORIZ</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>id</key>
+      <value>qtgui_number_sink_0</value>
     </param>
     <param>
       <key>type</key>
       <value>float</value>
     </param>
     <param>
-      <key>num_inputs</key>
-      <value>2</value>
+      <key>color1</key>
+      <value>("black", "black")</value>
     </param>
     <param>
-      <key>vlen</key>
+      <key>factor1</key>
       <value>1</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>label1</key>
+      <value>BER</value>
     </param>
     <param>
-      <key>affinity</key>
+      <key>unit1</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>color10</key>
+      <value>("black", "black")</value>
     </param>
     <param>
-      <key>maxoutbuf</key>
-      <value>0</value>
+      <key>factor10</key>
+      <value>1</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(880, 552)</value>
+      <key>label10</key>
+      <value></value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>unit10</key>
+      <value></value>
     </param>
-  </block>
-  <block>
-    <key>virtual_sink</key>
     <param>
-      <key>id</key>
-      <value>virtual_sink_0</value>
+      <key>color2</key>
+      <value>("black", "black")</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>factor2</key>
+      <value>1</value>
     </param>
     <param>
-      <key>stream_id</key>
-      <value>observation</value>
+      <key>label2</key>
+      <value></value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(896, 676)</value>
+      <key>unit2</key>
+      <value></value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>color3</key>
+      <value>("black", "black")</value>
     </param>
-  </block>
-  <block>
-    <key>import</key>
     <param>
-      <key>id</key>
-      <value>import_0_0</value>
+      <key>factor3</key>
+      <value>1</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>label3</key>
+      <value></value>
     </param>
     <param>
-      <key>import</key>
-      <value>import gnuradio.trellis.fsm_utils as fu</value>
+      <key>unit3</key>
+      <value></value>
     </param>
     <param>
-      <key>alias</key>
+      <key>color4</key>
+      <value>("black", "black")</value>
+    </param>
+    <param>
+      <key>factor4</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>label4</key>
       <value></value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(48, 132)</value>
+      <key>unit4</key>
+      <value></value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>color5</key>
+      <value>("black", "black")</value>
     </param>
-  </block>
-  <block>
-    <key>trellis_pccc_encoder_xx</key>
     <param>
-      <key>id</key>
-      <value>trellis_pccc_encoder_xx_0</value>
+      <key>factor5</key>
+      <value>1</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>label5</key>
+      <value></value>
     </param>
     <param>
-      <key>type</key>
-      <value>bb</value>
+      <key>unit5</key>
+      <value></value>
     </param>
     <param>
-      <key>o_fsm_args</key>
-      <value>fsm1</value>
+      <key>color6</key>
+      <value>("black", "black")</value>
     </param>
     <param>
-      <key>o_init_state</key>
-      <value>0</value>
+      <key>factor6</key>
+      <value>1</value>
     </param>
     <param>
-      <key>i_fsm_args</key>
-      <value>fsm2</value>
+      <key>label6</key>
+      <value></value>
     </param>
     <param>
-      <key>i_init_state</key>
-      <value>0</value>
+      <key>unit6</key>
+      <value></value>
     </param>
     <param>
-      <key>interleaver_args</key>
-      <value>interleaver</value>
+      <key>color7</key>
+      <value>("black", "black")</value>
     </param>
     <param>
-      <key>bl</key>
-      <value>block</value>
+      <key>factor7</key>
+      <value>1</value>
     </param>
     <param>
-      <key>alias</key>
+      <key>label7</key>
       <value></value>
     </param>
     <param>
-      <key>affinity</key>
+      <key>unit7</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>color8</key>
+      <value>("black", "black")</value>
     </param>
     <param>
-      <key>maxoutbuf</key>
-      <value>0</value>
+      <key>factor8</key>
+      <value>1</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(400, 457)</value>
+      <key>label8</key>
+      <value></value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>unit8</key>
+      <value></value>
     </param>
-  </block>
-  <block>
-    <key>digital_chunks_to_symbols_xx</key>
     <param>
-      <key>id</key>
-      <value>digital_chunks_to_symbols_xx_0</value>
+      <key>color9</key>
+      <value>("black", "black")</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>factor9</key>
+      <value>1</value>
     </param>
     <param>
-      <key>in_type</key>
-      <value>byte</value>
+      <key>label9</key>
+      <value></value>
     </param>
     <param>
-      <key>out_type</key>
-      <value>float</value>
+      <key>unit9</key>
+      <value></value>
     </param>
     <param>
-      <key>symbol_table</key>
-      <value>constellation</value>
+      <key>max</key>
+      <value>1</value>
     </param>
     <param>
-      <key>dimension</key>
-      <value>dim</value>
+      <key>min</key>
+      <value>0</value>
     </param>
     <param>
-      <key>num_ports</key>
+      <key>name</key>
+      <value>"BER"</value>
+    </param>
+    <param>
+      <key>nconnections</key>
       <value>1</value>
     </param>
     <param>
+      <key>update_time</key>
+      <value>0.10</value>
+    </param>
+  </block>
+  <block>
+    <key>trellis_pccc_decoder_combined_xx</key>
+    <param>
       <key>alias</key>
       <value></value>
     </param>
     <param>
+      <key>block_size</key>
+      <value>block</value>
+    </param>
+    <param>
+      <key>comment</key>
+      <value></value>
+    </param>
+    <param>
+      <key>table</key>
+      <value>constellation</value>
+    </param>
+    <param>
       <key>affinity</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>dim</key>
+      <value>dim</value>
     </param>
     <param>
-      <key>maxoutbuf</key>
-      <value>0</value>
+      <key>_enabled</key>
+      <value>True</value>
+    </param>
+    <param>
+      <key>o_fsm_args</key>
+      <value>fsm1</value>
+    </param>
+    <param>
+      <key>i_fsm_args</key>
+      <value>fsm2</value>
+    </param>
+    <param>
+      <key>o_final_state</key>
+      <value>-1</value>
+    </param>
+    <param>
+      <key>i_final_state</key>
+      <value>-1</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(632, 485)</value>
+      <value>(312, 448)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>analog_random_source_x</key>
     <param>
       <key>id</key>
-      <value>analog_random_source_x_0_0</value>
+      <value>trellis_pccc_decoder_combined_xx_0</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>o_init_state</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>i_init_state</key>
+      <value>0</value>
     </param>
     <param>
       <key>type</key>
-      <value>byte</value>
+      <value>f</value>
     </param>
     <param>
-      <key>min</key>
+      <key>interleaver</key>
+      <value>interleaver</value>
+    </param>
+    <param>
+      <key>iterations</key>
+      <value>10</value>
+    </param>
+    <param>
+      <key>maxoutbuf</key>
       <value>0</value>
     </param>
     <param>
-      <key>max</key>
-      <value>2</value>
+      <key>metric_type</key>
+      <value>digital.TRELLIS_EUCLIDEAN</value>
     </param>
     <param>
-      <key>num_samps</key>
-      <value>block</value>
+      <key>minoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>repeat</key>
-      <value>True</value>
+      <key>out_type</key>
+      <value>b</value>
+    </param>
+    <param>
+      <key>siso_type</key>
+      <value>trellis.TRELLIS_MIN_SUM</value>
+    </param>
+    <param>
+      <key>scaling</key>
+      <value>0.5/noisevar</value>
     </param>
+  </block>
+  <block>
+    <key>trellis_pccc_encoder_xx</key>
     <param>
       <key>alias</key>
       <value></value>
     </param>
     <param>
+      <key>bl</key>
+      <value>block</value>
+    </param>
+    <param>
+      <key>comment</key>
+      <value></value>
+    </param>
+    <param>
       <key>affinity</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
-      <key>maxoutbuf</key>
-      <value>0</value>
+      <key>o_fsm_args</key>
+      <value>fsm1</value>
+    </param>
+    <param>
+      <key>i_fsm_args</key>
+      <value>fsm2</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(8, 471)</value>
+      <value>(392, 300)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>variable_slider</key>
     <param>
       <key>id</key>
-      <value>EsN0_dB</value>
+      <value>trellis_pccc_encoder_xx_0</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>o_init_state</key>
+      <value>0</value>
     </param>
     <param>
-      <key>label</key>
-      <value>EsN0 (dB)</value>
+      <key>i_init_state</key>
+      <value>0</value>
     </param>
     <param>
-      <key>value</key>
-      <value>2</value>
+      <key>interleaver_args</key>
+      <value>interleaver</value>
     </param>
     <param>
-      <key>min</key>
-      <value>-10</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>max</key>
-      <value>20</value>
+      <key>minoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>num_steps</key>
-      <value>1000</value>
+      <key>type</key>
+      <value>bb</value>
     </param>
+  </block>
+  <block>
+    <key>virtual_sink</key>
     <param>
-      <key>style</key>
-      <value>wx.SL_HORIZONTAL</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
-      <key>converver</key>
-      <value>float_converter</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
-      <key>grid_pos</key>
-      <value></value>
+      <key>_coordinate</key>
+      <value>(968, 356)</value>
     </param>
     <param>
-      <key>notebook</key>
-      <value></value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>alias</key>
+      <key>id</key>
+      <value>virtual_sink_0</value>
+    </param>
+    <param>
+      <key>stream_id</key>
+      <value>observation</value>
+    </param>
+  </block>
+  <block>
+    <key>virtual_sink</key>
+    <param>
+      <key>comment</key>
       <value></value>
     </param>
     <param>
+      <key>_enabled</key>
+      <value>True</value>
+    </param>
+    <param>
       <key>_coordinate</key>
-      <value>(896, 129)</value>
+      <value>(200, 404)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
+    <param>
+      <key>id</key>
+      <value>virtual_sink_0_0</value>
+    </param>
+    <param>
+      <key>stream_id</key>
+      <value>info</value>
+    </param>
   </block>
   <block>
-    <key>trellis_pccc_decoder_combined_xx</key>
+    <key>virtual_sink</key>
     <param>
-      <key>id</key>
-      <value>trellis_pccc_decoder_combined_xx_0</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>type</key>
-      <value>f</value>
+      <key>_coordinate</key>
+      <value>(680, 548)</value>
     </param>
     <param>
-      <key>out_type</key>
-      <value>b</value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>o_fsm_args</key>
-      <value>fsm1</value>
+      <key>id</key>
+      <value>virtual_sink_0_1</value>
     </param>
     <param>
-      <key>o_init_state</key>
-      <value>0</value>
+      <key>stream_id</key>
+      <value>estimate</value>
     </param>
+  </block>
+  <block>
+    <key>virtual_source</key>
     <param>
-      <key>o_final_state</key>
-      <value>-1</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
-      <key>i_fsm_args</key>
-      <value>fsm2</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
-      <key>i_init_state</key>
-      <value>0</value>
+      <key>_coordinate</key>
+      <value>(16, 548)</value>
     </param>
     <param>
-      <key>i_final_state</key>
-      <value>-1</value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>interleaver</key>
-      <value>interleaver</value>
+      <key>id</key>
+      <value>virtual_source_0</value>
     </param>
     <param>
-      <key>block_size</key>
-      <value>block</value>
+      <key>stream_id</key>
+      <value>observation</value>
     </param>
+  </block>
+  <block>
+    <key>virtual_source</key>
     <param>
-      <key>iterations</key>
-      <value>10</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
-      <key>dim</key>
-      <value>dim</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
-      <key>table</key>
-      <value>constellation</value>
+      <key>_coordinate</key>
+      <value>(56, 676)</value>
     </param>
     <param>
-      <key>metric_type</key>
-      <value>digital.TRELLIS_EUCLIDEAN</value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>siso_type</key>
-      <value>trellis.TRELLIS_MIN_SUM</value>
+      <key>id</key>
+      <value>virtual_source_0_0</value>
     </param>
     <param>
-      <key>scaling</key>
-      <value>0.5/noisevar</value>
+      <key>stream_id</key>
+      <value>info</value>
     </param>
+  </block>
+  <block>
+    <key>virtual_source</key>
     <param>
-      <key>alias</key>
+      <key>comment</key>
       <value></value>
     </param>
     <param>
-      <key>affinity</key>
-      <value></value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>_coordinate</key>
+      <value>(56, 732)</value>
     </param>
     <param>
-      <key>maxoutbuf</key>
+      <key>_rotation</key>
       <value>0</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(400, 849)</value>
+      <key>id</key>
+      <value>virtual_source_0_0_0</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>stream_id</key>
+      <value>estimate</value>
     </param>
   </block>
   <connection>
-    <source_block_id>digital_chunks_to_symbols_xx_0</source_block_id>
+    <source_block_id>analog_noise_source_x_0</source_block_id>
     <sink_block_id>blocks_add_xx_1</sink_block_id>
     <source_key>0</source_key>
-    <sink_key>0</sink_key>
+    <sink_key>1</sink_key>
   </connection>
   <connection>
-    <source_block_id>blks2_error_rate_0</source_block_id>
-    <sink_block_id>wxgui_numbersink2_3_0_0</sink_block_id>
+    <source_block_id>analog_random_source_x_0_0</source_block_id>
+    <sink_block_id>blocks_throttle_0_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>virtual_source_0_0</source_block_id>
-    <sink_block_id>blks2_error_rate_0</sink_block_id>
+    <source_block_id>analog_random_source_x_0_0</source_block_id>
+    <sink_block_id>virtual_sink_0_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>virtual_source_0_0_0</source_block_id>
-    <sink_block_id>blks2_error_rate_0</sink_block_id>
+    <source_block_id>blks2_error_rate_0</source_block_id>
+    <sink_block_id>qtgui_number_sink_0</sink_block_id>
     <source_key>0</source_key>
-    <sink_key>1</sink_key>
+    <sink_key>0</sink_key>
   </connection>
   <connection>
     <source_block_id>blocks_add_xx_1</source_block_id>
@@ -1234,44 +1450,44 @@
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>trellis_pccc_decoder_combined_xx_0</source_block_id>
-    <sink_block_id>virtual_sink_0_1</sink_block_id>
+    <source_block_id>blocks_throttle_0_0</source_block_id>
+    <sink_block_id>trellis_pccc_encoder_xx_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>virtual_source_0</source_block_id>
-    <sink_block_id>trellis_pccc_decoder_combined_xx_0</sink_block_id>
+    <source_block_id>digital_chunks_to_symbols_xx_0</source_block_id>
+    <sink_block_id>blocks_add_xx_1</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>trellis_pccc_encoder_xx_0</source_block_id>
-    <sink_block_id>digital_chunks_to_symbols_xx_0</sink_block_id>
+    <source_block_id>trellis_pccc_decoder_combined_xx_0</source_block_id>
+    <sink_block_id>virtual_sink_0_1</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>blocks_throttle_0_0</source_block_id>
-    <sink_block_id>trellis_pccc_encoder_xx_0</sink_block_id>
+    <source_block_id>trellis_pccc_encoder_xx_0</source_block_id>
+    <sink_block_id>digital_chunks_to_symbols_xx_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>analog_random_source_x_0_0</source_block_id>
-    <sink_block_id>blocks_throttle_0_0</sink_block_id>
+    <source_block_id>virtual_source_0</source_block_id>
+    <sink_block_id>trellis_pccc_decoder_combined_xx_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>analog_random_source_x_0_0</source_block_id>
-    <sink_block_id>virtual_sink_0_0</sink_block_id>
+    <source_block_id>virtual_source_0_0</source_block_id>
+    <sink_block_id>blks2_error_rate_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>analog_noise_source_x_0</source_block_id>
-    <sink_block_id>blocks_add_xx_1</sink_block_id>
+    <source_block_id>virtual_source_0_0_0</source_block_id>
+    <sink_block_id>blks2_error_rate_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>1</sink_key>
   </connection>
diff --git a/gr-trellis/examples/grc/sccc.grc b/gr-trellis/examples/grc/sccc.grc
index f31f3ce..ea53711 100644
--- a/gr-trellis/examples/grc/sccc.grc
+++ b/gr-trellis/examples/grc/sccc.grc
@@ -1,500 +1,572 @@
-<?xml version='1.0' encoding='ASCII'?>
-<?grc format='1' created='3.7.6'?>
+<?xml version='1.0' encoding='utf-8'?>
+<?grc format='1' created='3.7.11'?>
 <flow_graph>
   <timestamp>Wed Oct  1 11:04:18 2014</timestamp>
   <block>
     <key>options</key>
     <param>
-      <key>id</key>
-      <value>sccc</value>
+      <key>author</key>
+      <value>AA</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>window_size</key>
+      <value>2048, 2048</value>
     </param>
     <param>
-      <key>title</key>
-      <value>Serially Concatenated Convolutional Code</value>
+      <key>category</key>
+      <value>Custom</value>
     </param>
     <param>
-      <key>author</key>
-      <value>AA</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>description</key>
       <value>gnuradio flow graph</value>
     </param>
     <param>
-      <key>window_size</key>
-      <value>2048, 2048</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
-      <key>generate_options</key>
-      <value>wx_gui</value>
+      <key>_coordinate</key>
+      <value>(0, 4)</value>
     </param>
     <param>
-      <key>category</key>
-      <value>Custom</value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>run_options</key>
-      <value>prompt</value>
+      <key>generate_options</key>
+      <value>qt_gui</value>
     </param>
     <param>
-      <key>run</key>
-      <value>True</value>
+      <key>hier_block_src_path</key>
+      <value>.:</value>
+    </param>
+    <param>
+      <key>id</key>
+      <value>sccc</value>
     </param>
     <param>
       <key>max_nouts</key>
       <value>0</value>
     </param>
     <param>
-      <key>realtime_scheduling</key>
+      <key>qt_qss_theme</key>
       <value></value>
     </param>
     <param>
-      <key>alias</key>
+      <key>realtime_scheduling</key>
       <value></value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(10, 10)</value>
+      <key>run_command</key>
+      <value>{python} -u {filename}</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>run_options</key>
+      <value>prompt</value>
+    </param>
+    <param>
+      <key>run</key>
+      <value>True</value>
+    </param>
+    <param>
+      <key>thread_safe_setters</key>
+      <value></value>
+    </param>
+    <param>
+      <key>title</key>
+      <value>Serially Concatenated Convolutional Code</value>
     </param>
   </block>
   <block>
     <key>variable</key>
     <param>
-      <key>id</key>
-      <value>prefix</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>value</key>
-      <value>"@FSM_FILE_INSTALL_DIR@"</value>
+      <key>_coordinate</key>
+      <value>(560, 132)</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(344, 13)</value>
+      <key>id</key>
+      <value>Es</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>value</key>
+      
<value>sum(numpy.square(constellation))/(len(constellation)/(1.0*dim))</value>
     </param>
   </block>
   <block>
-    <key>variable</key>
+    <key>variable_qtgui_range</key>
     <param>
-      <key>id</key>
-      <value>mod</value>
+      <key>comment</key>
+      <value></value>
+    </param>
+    <param>
+      <key>value</key>
+      <value>2</value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>value</key>
-      <value>fu.psk2x3</value>
+      <key>_coordinate</key>
+      <value>(640, 76)</value>
     </param>
     <param>
-      <key>alias</key>
+      <key>gui_hint</key>
       <value></value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(632, 101)</value>
-    </param>
-    <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>variable</key>
     <param>
       <key>id</key>
-      <value>interleaver</value>
+      <value>EsN0_dB</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>label</key>
+      <value>Es/N0 (dB)</value>
     </param>
     <param>
-      <key>value</key>
-      <value>trellis.interleaver(block,666)</value>
+      <key>min_len</key>
+      <value>200</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>orient</key>
+      <value>Qt.Horizontal</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(344, 205)</value>
+      <key>start</key>
+      <value>-10</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>step</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>stop</key>
+      <value>20</value>
+    </param>
+    <param>
+      <key>rangeType</key>
+      <value>float</value>
+    </param>
+    <param>
+      <key>widget</key>
+      <value>counter_slider</value>
     </param>
   </block>
   <block>
     <key>variable</key>
     <param>
-      <key>id</key>
-      <value>Es</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>value</key>
-      
<value>sum(numpy.square(constellation))/(len(constellation)/(1.0*dim))</value>
+      <key>_coordinate</key>
+      <value>(176, 68)</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(800, 133)</value>
+      <key>id</key>
+      <value>R</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>value</key>
+      <value>100e3</value>
     </param>
   </block>
   <block>
     <key>variable</key>
     <param>
-      <key>id</key>
-      <value>noisevar</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>value</key>
-      <value>10**(-EsN0_dB/10.0)  * Es   /2.0</value>
-    </param>
-    <param>
-      <key>alias</key>
-      <value></value>
-    </param>
-    <param>
       <key>_coordinate</key>
-      <value>(1056, 141)</value>
+      <value>(176, 4)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>variable</key>
     <param>
       <key>id</key>
       <value>block</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
-    </param>
-    <param>
       <key>value</key>
       <value>1000</value>
     </param>
+  </block>
+  <block>
+    <key>variable</key>
     <param>
-      <key>alias</key>
+      <key>comment</key>
       <value></value>
     </param>
     <param>
+      <key>_enabled</key>
+      <value>True</value>
+    </param>
+    <param>
       <key>_coordinate</key>
-      <value>(224, 29)</value>
+      <value>(488, 68)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
+    <param>
+      <key>id</key>
+      <value>constellation</value>
+    </param>
+    <param>
+      <key>value</key>
+      <value>mod[1]</value>
+    </param>
   </block>
   <block>
     <key>variable</key>
     <param>
-      <key>id</key>
-      <value>fsm_o</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>value</key>
-      <value>trellis.fsm(prefix+"awgn1o2_4.fsm")</value>
+      <key>_coordinate</key>
+      <value>(488, 132)</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(344, 77)</value>
+      <key>id</key>
+      <value>dim</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>value</key>
+      <value>mod[0]</value>
     </param>
   </block>
   <block>
     <key>variable</key>
     <param>
-      <key>id</key>
-      <value>fsm_i</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>value</key>
-      <value>trellis.fsm(prefix+"/awgn2o3_4.fsm")</value>
+      <key>_coordinate</key>
+      <value>(272, 132)</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(344, 141)</value>
+      <key>id</key>
+      <value>fsm_i</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>value</key>
+      <value>trellis.fsm(prefix+"/awgn2o3_4.fsm")</value>
     </param>
   </block>
   <block>
     <key>variable</key>
     <param>
-      <key>id</key>
-      <value>constellation</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>value</key>
-      <value>mod[1]</value>
+      <key>_coordinate</key>
+      <value>(272, 68)</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(568, 173)</value>
+      <key>id</key>
+      <value>fsm_o</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>value</key>
+      <value>trellis.fsm(prefix+"awgn1o2_4.fsm")</value>
     </param>
   </block>
   <block>
     <key>variable</key>
     <param>
-      <key>id</key>
-      <value>dim</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>value</key>
-      <value>mod[0]</value>
+      <key>_coordinate</key>
+      <value>(272, 196)</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(720, 173)</value>
+      <key>id</key>
+      <value>interleaver</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>value</key>
+      <value>trellis.interleaver(block,666)</value>
     </param>
   </block>
   <block>
     <key>variable</key>
     <param>
-      <key>id</key>
-      <value>R</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>value</key>
-      <value>100e3</value>
+      <key>_coordinate</key>
+      <value>(488, 4)</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(224, 93)</value>
+      <key>id</key>
+      <value>mod</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>value</key>
+      <value>fu.psk2x3</value>
     </param>
   </block>
   <block>
-    <key>import</key>
+    <key>variable</key>
     <param>
-      <key>id</key>
-      <value>import_0</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>import</key>
-      <value>import numpy</value>
+      <key>_coordinate</key>
+      <value>(640, 4)</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
-    </param>
+      <key>_rotation</key>
+      <value>0</value>
+    </param>
     <param>
-      <key>_coordinate</key>
-      <value>(32, 148)</value>
+      <key>id</key>
+      <value>noisevar</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>value</key>
+      <value>10**(-EsN0_dB/10.0)  * Es   /2.0</value>
     </param>
   </block>
   <block>
-    <key>virtual_sink</key>
+    <key>variable</key>
     <param>
-      <key>id</key>
-      <value>virtual_sink_0_0</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
-      <value>True</value>
-    </param>
-    <param>
-      <key>stream_id</key>
-      <value>info</value>
+      <value>1</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(192, 332)</value>
+      <value>(272, 4)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
+    <param>
+      <key>id</key>
+      <value>prefix</value>
+    </param>
+    <param>
+      <key>value</key>
+      <value>"@FSM_FILE_INSTALL_DIR@"</value>
+    </param>
   </block>
   <block>
-    <key>analog_random_source_x</key>
+    <key>analog_noise_source_x</key>
     <param>
-      <key>id</key>
-      <value>analog_random_source_x_0</value>
+      <key>amp</key>
+      <value>noisevar**0.5</value>
+    </param>
+    <param>
+      <key>alias</key>
+      <value></value>
+    </param>
+    <param>
+      <key>comment</key>
+      <value></value>
+    </param>
+    <param>
+      <key>affinity</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>type</key>
-      <value>byte</value>
+      <key>_coordinate</key>
+      <value>(680, 380)</value>
     </param>
     <param>
-      <key>min</key>
+      <key>_rotation</key>
       <value>0</value>
     </param>
     <param>
-      <key>max</key>
-      <value>2</value>
+      <key>id</key>
+      <value>analog_noise_source_x_0</value>
     </param>
     <param>
-      <key>num_samps</key>
-      <value>1007</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>repeat</key>
-      <value>True</value>
+      <key>minoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>noise_type</key>
+      <value>analog.GR_GAUSSIAN</value>
+    </param>
+    <param>
+      <key>type</key>
+      <value>float</value>
     </param>
     <param>
+      <key>seed</key>
+      <value>-42</value>
+    </param>
+  </block>
+  <block>
+    <key>analog_random_source_x</key>
+    <param>
       <key>alias</key>
       <value></value>
     </param>
     <param>
+      <key>comment</key>
+      <value></value>
+    </param>
+    <param>
       <key>affinity</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
+      <key>_enabled</key>
+      <value>True</value>
+    </param>
+    <param>
+      <key>_coordinate</key>
+      <value>(8, 292)</value>
+    </param>
+    <param>
+      <key>_rotation</key>
       <value>0</value>
     </param>
     <param>
+      <key>id</key>
+      <value>analog_random_source_x_0</value>
+    </param>
+    <param>
       <key>maxoutbuf</key>
       <value>0</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(5, 384)</value>
+      <key>max</key>
+      <value>2</value>
     </param>
     <param>
-      <key>_rotation</key>
+      <key>minoutbuf</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>blocks_throttle</key>
     <param>
-      <key>id</key>
-      <value>blocks_throttle_0</value>
+      <key>min</key>
+      <value>0</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>num_samps</key>
+      <value>1007</value>
     </param>
     <param>
       <key>type</key>
       <value>byte</value>
     </param>
     <param>
-      <key>samples_per_second</key>
-      <value>R</value>
+      <key>repeat</key>
+      <value>True</value>
     </param>
+  </block>
+  <block>
+    <key>blks2_error_rate</key>
     <param>
-      <key>vlen</key>
+      <key>bits_per_symbol</key>
       <value>1</value>
     </param>
     <param>
-      <key>ignoretag</key>
-      <value>True</value>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
-      <key>alias</key>
+      <key>comment</key>
       <value></value>
     </param>
     <param>
@@ -502,512 +574,632 @@
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
+      <key>_enabled</key>
+      <value>True</value>
+    </param>
+    <param>
+      <key>_coordinate</key>
+      <value>(608, 536)</value>
+    </param>
+    <param>
+      <key>_rotation</key>
       <value>0</value>
     </param>
     <param>
+      <key>id</key>
+      <value>blks2_error_rate_0</value>
+    </param>
+    <param>
       <key>maxoutbuf</key>
       <value>0</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(232, 404)</value>
+      <key>minoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>type</key>
+      <value>'SER'</value>
+    </param>
+    <param>
+      <key>win_size</key>
+      <value>block*100</value>
     </param>
   </block>
   <block>
-    <key>digital_chunks_to_symbols_xx</key>
+    <key>blocks_add_xx</key>
     <param>
-      <key>id</key>
-      <value>digital_chunks_to_symbols_xx_0</value>
+      <key>alias</key>
+      <value></value>
+    </param>
+    <param>
+      <key>comment</key>
+      <value></value>
+    </param>
+    <param>
+      <key>affinity</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>in_type</key>
-      <value>byte</value>
+      <key>_coordinate</key>
+      <value>(920, 320)</value>
     </param>
     <param>
-      <key>out_type</key>
+      <key>_rotation</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>id</key>
+      <value>blocks_add_xx_1</value>
+    </param>
+    <param>
+      <key>type</key>
       <value>float</value>
     </param>
     <param>
-      <key>symbol_table</key>
-      <value>constellation</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>dimension</key>
-      <value>dim</value>
+      <key>minoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>num_ports</key>
+      <key>num_inputs</key>
+      <value>2</value>
+    </param>
+    <param>
+      <key>vlen</key>
       <value>1</value>
     </param>
+  </block>
+  <block>
+    <key>blocks_throttle</key>
     <param>
       <key>alias</key>
       <value></value>
     </param>
     <param>
-      <key>affinity</key>
+      <key>comment</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>affinity</key>
+      <value></value>
     </param>
     <param>
-      <key>maxoutbuf</key>
-      <value>0</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(672, 397)</value>
+      <value>(224, 316)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>blocks_add_xx</key>
     <param>
       <key>id</key>
-      <value>blocks_add_xx_1</value>
+      <value>blocks_throttle_0</value>
     </param>
     <param>
-      <key>_enabled</key>
+      <key>ignoretag</key>
       <value>True</value>
     </param>
     <param>
-      <key>type</key>
-      <value>float</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>num_inputs</key>
-      <value>2</value>
+      <key>minoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>samples_per_second</key>
+      <value>R</value>
+    </param>
+    <param>
+      <key>type</key>
+      <value>byte</value>
     </param>
     <param>
       <key>vlen</key>
       <value>1</value>
     </param>
+  </block>
+  <block>
+    <key>digital_chunks_to_symbols_xx</key>
     <param>
       <key>alias</key>
       <value></value>
     </param>
     <param>
+      <key>comment</key>
+      <value></value>
+    </param>
+    <param>
       <key>affinity</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>dimension</key>
+      <value>dim</value>
     </param>
     <param>
-      <key>maxoutbuf</key>
-      <value>0</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(960, 472)</value>
+      <value>(648, 308)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>blks2_error_rate</key>
     <param>
       <key>id</key>
-      <value>blks2_error_rate_0</value>
+      <value>digital_chunks_to_symbols_xx_0</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>in_type</key>
+      <value>byte</value>
     </param>
     <param>
-      <key>type</key>
-      <value>'SER'</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>win_size</key>
-      <value>block*100</value>
+      <key>minoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>bits_per_symbol</key>
+      <key>num_ports</key>
       <value>1</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>out_type</key>
+      <value>float</value>
     </param>
     <param>
-      <key>affinity</key>
+      <key>symbol_table</key>
+      <value>constellation</value>
+    </param>
+  </block>
+  <block>
+    <key>import</key>
+    <param>
+      <key>alias</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
-      <key>maxoutbuf</key>
-      <value>0</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(312, 1168)</value>
+      <value>(0, 116)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
+    <param>
+      <key>id</key>
+      <value>import_0</value>
+    </param>
+    <param>
+      <key>import</key>
+      <value>import numpy</value>
+    </param>
   </block>
   <block>
-    <key>virtual_source</key>
+    <key>import</key>
     <param>
-      <key>id</key>
-      <value>virtual_source_0_0_0</value>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
-      <key>stream_id</key>
-      <value>estimate</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(96, 1204)</value>
+      <value>(0, 164)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
+    <param>
+      <key>id</key>
+      <value>import_0_0</value>
+    </param>
+    <param>
+      <key>import</key>
+      <value>import gnuradio.trellis.fsm_utils as fu</value>
+    </param>
   </block>
   <block>
-    <key>virtual_source</key>
+    <key>qtgui_number_sink</key>
     <param>
-      <key>id</key>
-      <value>virtual_source_0_0</value>
+      <key>autoscale</key>
+      <value>False</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>avg</key>
+      <value>0</value>
     </param>
     <param>
-      <key>stream_id</key>
-      <value>info</value>
+      <key>alias</key>
+      <value></value>
+    </param>
+    <param>
+      <key>comment</key>
+      <value></value>
+    </param>
+    <param>
+      <key>affinity</key>
+      <value></value>
+    </param>
+    <param>
+      <key>_enabled</key>
+      <value>1</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(112, 1132)</value>
+      <value>(824, 524)</value>
+    </param>
+    <param>
+      <key>gui_hint</key>
+      <value></value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>wxgui_numbersink2</key>
     <param>
-      <key>id</key>
-      <value>wxgui_numbersink2_3_0_0</value>
+      <key>graph_type</key>
+      <value>qtgui.NUM_GRAPH_HORIZ</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>id</key>
+      <value>qtgui_number_sink_0</value>
     </param>
     <param>
       <key>type</key>
       <value>float</value>
     </param>
     <param>
-      <key>title</key>
-      <value>BER</value>
+      <key>color1</key>
+      <value>("black", "black")</value>
+    </param>
+    <param>
+      <key>factor1</key>
+      <value>1</value>
     </param>
     <param>
-      <key>units</key>
+      <key>label1</key>
       <value>BER</value>
     </param>
     <param>
-      <key>samp_rate</key>
-      <value>R</value>
+      <key>unit1</key>
+      <value></value>
     </param>
     <param>
-      <key>min_value</key>
-      <value>0</value>
+      <key>color10</key>
+      <value>("black", "black")</value>
     </param>
     <param>
-      <key>max_value</key>
-      <value>1.0</value>
+      <key>factor10</key>
+      <value>1</value>
     </param>
     <param>
-      <key>factor</key>
-      <value>1.0</value>
+      <key>label10</key>
+      <value></value>
     </param>
     <param>
-      <key>decimal_places</key>
-      <value>6</value>
+      <key>unit10</key>
+      <value></value>
     </param>
     <param>
-      <key>ref_level</key>
-      <value>0</value>
+      <key>color2</key>
+      <value>("black", "black")</value>
     </param>
     <param>
-      <key>number_rate</key>
-      <value>15</value>
+      <key>factor2</key>
+      <value>1</value>
     </param>
     <param>
-      <key>peak_hold</key>
-      <value>False</value>
+      <key>label2</key>
+      <value></value>
     </param>
     <param>
-      <key>average</key>
-      <value>False</value>
+      <key>unit2</key>
+      <value></value>
     </param>
     <param>
-      <key>avg_alpha</key>
-      <value>0.001</value>
+      <key>color3</key>
+      <value>("black", "black")</value>
     </param>
     <param>
-      <key>show_gauge</key>
-      <value>False</value>
+      <key>factor3</key>
+      <value>1</value>
     </param>
     <param>
-      <key>win_size</key>
+      <key>label3</key>
       <value></value>
     </param>
     <param>
-      <key>grid_pos</key>
+      <key>unit3</key>
       <value></value>
     </param>
     <param>
-      <key>notebook</key>
+      <key>color4</key>
+      <value>("black", "black")</value>
+    </param>
+    <param>
+      <key>factor4</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>label4</key>
       <value></value>
     </param>
     <param>
-      <key>alias</key>
+      <key>unit4</key>
       <value></value>
     </param>
     <param>
-      <key>affinity</key>
+      <key>color5</key>
+      <value>("black", "black")</value>
+    </param>
+    <param>
+      <key>factor5</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>label5</key>
       <value></value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(688, 1117)</value>
+      <key>unit5</key>
+      <value></value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>color6</key>
+      <value>("black", "black")</value>
     </param>
-  </block>
-  <block>
-    <key>virtual_source</key>
     <param>
-      <key>id</key>
-      <value>virtual_source_0</value>
+      <key>factor6</key>
+      <value>1</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>label6</key>
+      <value></value>
     </param>
     <param>
-      <key>stream_id</key>
-      <value>observation</value>
+      <key>unit6</key>
+      <value></value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(88, 836)</value>
+      <key>color7</key>
+      <value>("black", "black")</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>factor7</key>
+      <value>1</value>
     </param>
-  </block>
-  <block>
-    <key>virtual_sink</key>
     <param>
-      <key>id</key>
-      <value>virtual_sink_0_1</value>
+      <key>label7</key>
+      <value></value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>unit7</key>
+      <value></value>
     </param>
     <param>
-      <key>stream_id</key>
-      <value>estimate</value>
+      <key>color8</key>
+      <value>("black", "black")</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(744, 836)</value>
+      <key>factor8</key>
+      <value>1</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>label8</key>
+      <value></value>
     </param>
-  </block>
-  <block>
-    <key>analog_noise_source_x</key>
     <param>
-      <key>id</key>
-      <value>analog_noise_source_x_0</value>
+      <key>unit8</key>
+      <value></value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>color9</key>
+      <value>("black", "black")</value>
     </param>
     <param>
-      <key>type</key>
-      <value>float</value>
+      <key>factor9</key>
+      <value>1</value>
     </param>
     <param>
-      <key>noise_type</key>
-      <value>analog.GR_GAUSSIAN</value>
+      <key>label9</key>
+      <value></value>
     </param>
     <param>
-      <key>amp</key>
-      <value>noisevar**0.5</value>
+      <key>unit9</key>
+      <value></value>
     </param>
     <param>
-      <key>seed</key>
-      <value>-42</value>
+      <key>max</key>
+      <value>1</value>
     </param>
     <param>
+      <key>min</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>name</key>
+      <value>"BER"</value>
+    </param>
+    <param>
+      <key>nconnections</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>update_time</key>
+      <value>0.10</value>
+    </param>
+  </block>
+  <block>
+    <key>trellis_sccc_decoder_combined_xx</key>
+    <param>
       <key>alias</key>
       <value></value>
     </param>
     <param>
-      <key>affinity</key>
+      <key>block_size</key>
+      <value>block</value>
+    </param>
+    <param>
+      <key>comment</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>table</key>
+      <value>constellation</value>
+    </param>
+    <param>
+      <key>affinity</key>
+      <value></value>
+    </param>
+    <param>
+      <key>dim</key>
+      <value>dim</value>
     </param>
     <param>
-      <key>maxoutbuf</key>
-      <value>0</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(608, 510)</value>
+      <value>(248, 464)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>virtual_sink</key>
     <param>
       <key>id</key>
-      <value>virtual_sink_0</value>
+      <value>trellis_sccc_decoder_combined_xx_0</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>i_fsm_args</key>
+      <value>fsm_i</value>
     </param>
     <param>
-      <key>stream_id</key>
-      <value>observation</value>
+      <key>i_final_state</key>
+      <value>-1</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(1064, 484)</value>
+      <key>i_init_state</key>
+      <value>0</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>type</key>
+      <value>f</value>
     </param>
-  </block>
-  <block>
-    <key>variable_slider</key>
     <param>
-      <key>id</key>
-      <value>EsN0_dB</value>
+      <key>interleaver</key>
+      <value>interleaver</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>iterations</key>
+      <value>5</value>
     </param>
     <param>
-      <key>label</key>
-      <value>EsN0 (dB)</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>value</key>
-      <value>2</value>
+      <key>metric_type</key>
+      <value>digital.TRELLIS_EUCLIDEAN</value>
     </param>
     <param>
-      <key>min</key>
-      <value>-10</value>
+      <key>minoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>max</key>
-      <value>10</value>
+      <key>o_fsm_args</key>
+      <value>fsm_o</value>
     </param>
     <param>
-      <key>num_steps</key>
-      <value>1000</value>
+      <key>o_final_state</key>
+      <value>-1</value>
     </param>
     <param>
-      <key>style</key>
-      <value>wx.SL_HORIZONTAL</value>
+      <key>o_init_state</key>
+      <value>0</value>
     </param>
     <param>
-      <key>converver</key>
-      <value>float_converter</value>
+      <key>out_type</key>
+      <value>b</value>
     </param>
     <param>
-      <key>grid_pos</key>
-      <value></value>
+      <key>siso_type</key>
+      <value>trellis.TRELLIS_MIN_SUM</value>
     </param>
     <param>
-      <key>notebook</key>
-      <value></value>
+      <key>scaling</key>
+      <value>1.0/noisevar</value>
     </param>
+  </block>
+  <block>
+    <key>trellis_sccc_encoder_xx</key>
     <param>
       <key>alias</key>
       <value></value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(920, 113)</value>
+      <key>bl</key>
+      <value>block</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>comment</key>
+      <value></value>
     </param>
-  </block>
-  <block>
-    <key>trellis_sccc_encoder_xx</key>
     <param>
-      <key>id</key>
-      <value>trellis_sccc_encoder_xx_0</value>
+      <key>affinity</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>type</key>
-      <value>bb</value>
+      <key>_coordinate</key>
+      <value>(416, 276)</value>
     </param>
     <param>
-      <key>o_fsm_args</key>
-      <value>fsm_o</value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>o_init_state</key>
-      <value>0</value>
+      <key>id</key>
+      <value>trellis_sccc_encoder_xx_0</value>
     </param>
     <param>
       <key>i_fsm_args</key>
@@ -1022,158 +1214,132 @@
       <value>interleaver</value>
     </param>
     <param>
-      <key>bl</key>
-      <value>block</value>
-    </param>
-    <param>
-      <key>alias</key>
-      <value></value>
-    </param>
-    <param>
-      <key>affinity</key>
-      <value></value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
       <key>minoutbuf</key>
       <value>0</value>
     </param>
     <param>
-      <key>maxoutbuf</key>
-      <value>0</value>
+      <key>o_fsm_args</key>
+      <value>fsm_o</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(416, 369)</value>
+      <key>o_init_state</key>
+      <value>0</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>type</key>
+      <value>bb</value>
     </param>
   </block>
   <block>
-    <key>import</key>
+    <key>virtual_sink</key>
     <param>
-      <key>id</key>
-      <value>import_0_0</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>import</key>
-      <value>import gnuradio.trellis.fsm_utils as fu</value>
-    </param>
-    <param>
-      <key>alias</key>
-      <value></value>
-    </param>
-    <param>
       <key>_coordinate</key>
-      <value>(40, 204)</value>
+      <value>(1024, 332)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>trellis_sccc_decoder_combined_xx</key>
     <param>
       <key>id</key>
-      <value>trellis_sccc_decoder_combined_xx_0</value>
-    </param>
-    <param>
-      <key>_enabled</key>
-      <value>True</value>
-    </param>
-    <param>
-      <key>type</key>
-      <value>f</value>
-    </param>
-    <param>
-      <key>out_type</key>
-      <value>b</value>
+      <value>virtual_sink_0</value>
     </param>
     <param>
-      <key>o_fsm_args</key>
-      <value>fsm_o</value>
+      <key>stream_id</key>
+      <value>observation</value>
     </param>
+  </block>
+  <block>
+    <key>virtual_sink</key>
     <param>
-      <key>o_init_state</key>
-      <value>0</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
-      <key>o_final_state</key>
-      <value>-1</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
-      <key>i_fsm_args</key>
-      <value>fsm_i</value>
+      <key>_coordinate</key>
+      <value>(232, 412)</value>
     </param>
     <param>
-      <key>i_init_state</key>
+      <key>_rotation</key>
       <value>0</value>
     </param>
     <param>
-      <key>i_final_state</key>
-      <value>-1</value>
-    </param>
-    <param>
-      <key>interleaver</key>
-      <value>interleaver</value>
+      <key>id</key>
+      <value>virtual_sink_0_0</value>
     </param>
     <param>
-      <key>block_size</key>
-      <value>block</value>
+      <key>stream_id</key>
+      <value>info</value>
     </param>
+  </block>
+  <block>
+    <key>virtual_source</key>
     <param>
-      <key>iterations</key>
-      <value>5</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
-      <key>dim</key>
-      <value>dim</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
-      <key>table</key>
-      <value>constellation</value>
+      <key>_coordinate</key>
+      <value>(0, 564)</value>
     </param>
     <param>
-      <key>metric_type</key>
-      <value>digital.TRELLIS_EUCLIDEAN</value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>siso_type</key>
-      <value>trellis.TRELLIS_MIN_SUM</value>
+      <key>id</key>
+      <value>virtual_source_0</value>
     </param>
     <param>
-      <key>scaling</key>
-      <value>1.0/noisevar</value>
+      <key>stream_id</key>
+      <value>observation</value>
     </param>
+  </block>
+  <block>
+    <key>virtual_source</key>
     <param>
-      <key>alias</key>
+      <key>comment</key>
       <value></value>
     </param>
     <param>
-      <key>affinity</key>
-      <value></value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>_coordinate</key>
+      <value>(336, 412)</value>
     </param>
     <param>
-      <key>maxoutbuf</key>
+      <key>_rotation</key>
       <value>0</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(400, 745)</value>
+      <key>id</key>
+      <value>virtual_source_0_0</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>stream_id</key>
+      <value>info</value>
     </param>
   </block>
   <connection>
@@ -1183,8 +1349,8 @@
     <sink_key>1</sink_key>
   </connection>
   <connection>
-    <source_block_id>digital_chunks_to_symbols_xx_0</source_block_id>
-    <sink_block_id>blocks_add_xx_1</sink_block_id>
+    <source_block_id>analog_random_source_x_0</source_block_id>
+    <sink_block_id>blocks_throttle_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
@@ -1195,56 +1361,50 @@
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>analog_random_source_x_0</source_block_id>
-    <sink_block_id>blocks_throttle_0</sink_block_id>
+    <source_block_id>blks2_error_rate_0</source_block_id>
+    <sink_block_id>qtgui_number_sink_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>blocks_throttle_0</source_block_id>
-    <sink_block_id>trellis_sccc_encoder_xx_0</sink_block_id>
+    <source_block_id>blocks_add_xx_1</source_block_id>
+    <sink_block_id>virtual_sink_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>trellis_sccc_encoder_xx_0</source_block_id>
-    <sink_block_id>digital_chunks_to_symbols_xx_0</sink_block_id>
+    <source_block_id>blocks_throttle_0</source_block_id>
+    <sink_block_id>trellis_sccc_encoder_xx_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>blocks_add_xx_1</source_block_id>
-    <sink_block_id>virtual_sink_0</sink_block_id>
+    <source_block_id>digital_chunks_to_symbols_xx_0</source_block_id>
+    <sink_block_id>blocks_add_xx_1</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>virtual_source_0_0_0</source_block_id>
+    <source_block_id>trellis_sccc_decoder_combined_xx_0</source_block_id>
     <sink_block_id>blks2_error_rate_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>1</sink_key>
   </connection>
   <connection>
-    <source_block_id>virtual_source_0_0</source_block_id>
-    <sink_block_id>blks2_error_rate_0</sink_block_id>
-    <source_key>0</source_key>
-    <sink_key>0</sink_key>
-  </connection>
-  <connection>
-    <source_block_id>blks2_error_rate_0</source_block_id>
-    <sink_block_id>wxgui_numbersink2_3_0_0</sink_block_id>
+    <source_block_id>trellis_sccc_encoder_xx_0</source_block_id>
+    <sink_block_id>digital_chunks_to_symbols_xx_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>trellis_sccc_decoder_combined_xx_0</source_block_id>
-    <sink_block_id>virtual_sink_0_1</sink_block_id>
+    <source_block_id>virtual_source_0</source_block_id>
+    <sink_block_id>trellis_sccc_decoder_combined_xx_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>virtual_source_0</source_block_id>
-    <sink_block_id>trellis_sccc_decoder_combined_xx_0</sink_block_id>
+    <source_block_id>virtual_source_0_0</source_block_id>
+    <sink_block_id>blks2_error_rate_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
diff --git a/gr-trellis/examples/grc/tcm.grc b/gr-trellis/examples/grc/tcm.grc
index 451d940..9e2b57c 100644
--- a/gr-trellis/examples/grc/tcm.grc
+++ b/gr-trellis/examples/grc/tcm.grc
@@ -1,388 +1,455 @@
-<?xml version='1.0' encoding='ASCII'?>
-<?grc format='1' created='3.7.6'?>
+<?xml version='1.0' encoding='utf-8'?>
+<?grc format='1' created='3.7.11'?>
 <flow_graph>
   <timestamp>Wed Oct  1 11:04:18 2014</timestamp>
   <block>
     <key>options</key>
     <param>
-      <key>id</key>
-      <value>tcm</value>
+      <key>author</key>
+      <value>AA</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>window_size</key>
+      <value>2048, 2048</value>
     </param>
     <param>
-      <key>title</key>
-      <value>Trellis Coded Modulation</value>
+      <key>category</key>
+      <value>Custom</value>
     </param>
     <param>
-      <key>author</key>
-      <value>AA</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>description</key>
       <value>gnuradio flow graph</value>
     </param>
     <param>
-      <key>window_size</key>
-      <value>2048, 2048</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
-      <key>generate_options</key>
-      <value>wx_gui</value>
+      <key>_coordinate</key>
+      <value>(0, 4)</value>
     </param>
     <param>
-      <key>category</key>
-      <value>Custom</value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>run_options</key>
-      <value>prompt</value>
+      <key>generate_options</key>
+      <value>qt_gui</value>
     </param>
     <param>
-      <key>run</key>
-      <value>True</value>
+      <key>hier_block_src_path</key>
+      <value>.:</value>
+    </param>
+    <param>
+      <key>id</key>
+      <value>tcm</value>
     </param>
     <param>
       <key>max_nouts</key>
       <value>0</value>
     </param>
     <param>
-      <key>realtime_scheduling</key>
+      <key>qt_qss_theme</key>
       <value></value>
     </param>
     <param>
-      <key>alias</key>
+      <key>realtime_scheduling</key>
       <value></value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(10, 10)</value>
+      <key>run_command</key>
+      <value>{python} -u {filename}</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>run_options</key>
+      <value>prompt</value>
     </param>
-  </block>
-  <block>
-    <key>variable</key>
     <param>
-      <key>id</key>
-      <value>prefix</value>
+      <key>run</key>
+      <value>True</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>thread_safe_setters</key>
+      <value></value>
     </param>
     <param>
-      <key>value</key>
-      <value>"@FSM_FILE_INSTALL_DIR@"</value>
+      <key>title</key>
+      <value>Trellis Coded Modulation</value>
     </param>
+  </block>
+  <block>
+    <key>variable</key>
     <param>
-      <key>alias</key>
+      <key>comment</key>
       <value></value>
     </param>
     <param>
+      <key>_enabled</key>
+      <value>True</value>
+    </param>
+    <param>
       <key>_coordinate</key>
-      <value>(320, 13)</value>
+      <value>(472, 4)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>variable</key>
     <param>
       <key>id</key>
-      <value>dim</value>
+      <value>Es</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>value</key>
+      
<value>sum(numpy.square(numpy.abs(constellation)))/(len(constellation)/(1.0*dim))</value>
+    </param>
+  </block>
+  <block>
+    <key>variable_qtgui_range</key>
+    <param>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>value</key>
-      <value>mod[0]</value>
+      <value>2</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>_enabled</key>
+      <value>1</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(464, 229)</value>
+      <value>(552, 4)</value>
+    </param>
+    <param>
+      <key>gui_hint</key>
+      <value></value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>variable</key>
     <param>
       <key>id</key>
-      <value>constellation</value>
+      <value>EsN0_dB</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>label</key>
+      <value>Es/N0 (dB)</value>
     </param>
     <param>
-      <key>value</key>
-      <value>mod[1]</value>
+      <key>min_len</key>
+      <value>200</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>orient</key>
+      <value>Qt.Horizontal</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(312, 229)</value>
+      <key>start</key>
+      <value>-10</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>step</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>stop</key>
+      <value>20</value>
+    </param>
+    <param>
+      <key>rangeType</key>
+      <value>float</value>
+    </param>
+    <param>
+      <key>widget</key>
+      <value>counter_slider</value>
     </param>
   </block>
   <block>
     <key>variable</key>
     <param>
-      <key>id</key>
-      <value>mod</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>value</key>
-      <value>fu.psk4</value>
+      <key>_coordinate</key>
+      <value>(176, 68)</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(336, 157)</value>
+      <key>id</key>
+      <value>R</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>value</key>
+      <value>100e3</value>
     </param>
   </block>
   <block>
     <key>variable</key>
     <param>
-      <key>id</key>
-      <value>fsm</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>value</key>
-      <value>"awgn1o2_4.fsm"</value>
+      <key>_coordinate</key>
+      <value>(176, 4)</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(320, 77)</value>
+      <key>id</key>
+      <value>block</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>value</key>
+      <value>500*16</value>
     </param>
   </block>
   <block>
     <key>variable</key>
     <param>
-      <key>id</key>
-      <value>R</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>value</key>
-      <value>100e3</value>
+      <key>_coordinate</key>
+      <value>(272, 196)</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(216, 109)</value>
+      <key>id</key>
+      <value>constellation</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>value</key>
+      <value>mod[1]</value>
     </param>
   </block>
   <block>
     <key>variable</key>
     <param>
-      <key>id</key>
-      <value>noisevar</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>value</key>
-      <value>10**(-EsN0_dB/10.0)  * Es   /2.0</value>
+      <key>_coordinate</key>
+      <value>(472, 68)</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(728, 157)</value>
+      <key>id</key>
+      <value>dim</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>value</key>
+      <value>mod[0]</value>
     </param>
   </block>
   <block>
     <key>variable</key>
     <param>
-      <key>id</key>
-      <value>Es</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>value</key>
-      
<value>sum(numpy.square(numpy.abs(constellation)))/(len(constellation)/(1.0*dim))</value>
+      <key>_coordinate</key>
+      <value>(272, 68)</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(528, 157)</value>
+      <key>id</key>
+      <value>fsm</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>value</key>
+      <value>"awgn1o2_4.fsm"</value>
     </param>
   </block>
   <block>
     <key>variable</key>
     <param>
-      <key>id</key>
-      <value>block</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>value</key>
-      <value>500*16</value>
+      <key>_coordinate</key>
+      <value>(272, 132)</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(216, 29)</value>
+      <key>id</key>
+      <value>mod</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>value</key>
+      <value>fu.psk4</value>
     </param>
   </block>
   <block>
-    <key>blocks_throttle</key>
+    <key>variable</key>
     <param>
-      <key>id</key>
-      <value>blocks_throttle_0</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>type</key>
-      <value>byte</value>
+      <key>_coordinate</key>
+      <value>(432, 132)</value>
     </param>
     <param>
-      <key>samples_per_second</key>
-      <value>R</value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>vlen</key>
-      <value>1</value>
+      <key>id</key>
+      <value>noisevar</value>
     </param>
     <param>
-      <key>ignoretag</key>
-      <value>True</value>
+      <key>value</key>
+      <value>10**(-EsN0_dB/10.0)  * Es   /2.0</value>
     </param>
+  </block>
+  <block>
+    <key>variable</key>
     <param>
-      <key>alias</key>
+      <key>comment</key>
       <value></value>
     </param>
     <param>
-      <key>affinity</key>
-      <value></value>
+      <key>_enabled</key>
+      <value>1</value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>_coordinate</key>
+      <value>(272, 4)</value>
     </param>
     <param>
-      <key>maxoutbuf</key>
+      <key>_rotation</key>
       <value>0</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(208, 380)</value>
+      <key>id</key>
+      <value>prefix</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>value</key>
+      <value>"@FSM_FILE_INSTALL_DIR@"</value>
     </param>
   </block>
   <block>
-    <key>blocks_add_xx</key>
+    <key>analog_noise_source_x</key>
     <param>
-      <key>id</key>
-      <value>blocks_add_xx_1</value>
+      <key>amp</key>
+      <value>noisevar**0.5</value>
+    </param>
+    <param>
+      <key>alias</key>
+      <value></value>
+    </param>
+    <param>
+      <key>comment</key>
+      <value></value>
+    </param>
+    <param>
+      <key>affinity</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
+      <key>_coordinate</key>
+      <value>(664, 356)</value>
+    </param>
+    <param>
+      <key>_rotation</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>id</key>
+      <value>analog_noise_source_x_0</value>
+    </param>
+    <param>
+      <key>maxoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>minoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>noise_type</key>
+      <value>analog.GR_GAUSSIAN</value>
+    </param>
+    <param>
       <key>type</key>
       <value>float</value>
     </param>
     <param>
-      <key>num_inputs</key>
-      <value>2</value>
+      <key>seed</key>
+      <value>-42</value>
     </param>
+  </block>
+  <block>
+    <key>analog_random_source_x</key>
     <param>
-      <key>vlen</key>
-      <value>1</value>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
-      <key>alias</key>
+      <key>comment</key>
       <value></value>
     </param>
     <param>
@@ -390,256 +457,375 @@
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
+      <key>_enabled</key>
+      <value>True</value>
+    </param>
+    <param>
+      <key>_coordinate</key>
+      <value>(0, 276)</value>
+    </param>
+    <param>
+      <key>_rotation</key>
       <value>0</value>
     </param>
     <param>
+      <key>id</key>
+      <value>analog_random_source_x_0</value>
+    </param>
+    <param>
       <key>maxoutbuf</key>
       <value>0</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(912, 488)</value>
+      <key>max</key>
+      <value>2</value>
     </param>
     <param>
-      <key>_rotation</key>
+      <key>minoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>min</key>
       <value>0</value>
     </param>
+    <param>
+      <key>num_samps</key>
+      <value>1007</value>
+    </param>
+    <param>
+      <key>type</key>
+      <value>byte</value>
+    </param>
+    <param>
+      <key>repeat</key>
+      <value>True</value>
+    </param>
   </block>
   <block>
-    <key>virtual_sink</key>
+    <key>blks2_error_rate</key>
     <param>
-      <key>id</key>
-      <value>virtual_sink_0_0</value>
+      <key>bits_per_symbol</key>
+      <value>1</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
-      <key>stream_id</key>
-      <value>info</value>
+      <key>comment</key>
+      <value></value>
+    </param>
+    <param>
+      <key>affinity</key>
+      <value></value>
+    </param>
+    <param>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(224, 316)</value>
+      <value>(688, 504)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>virtual_sink</key>
     <param>
       <key>id</key>
-      <value>virtual_sink_0</value>
+      <value>blks2_error_rate_0</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>stream_id</key>
-      <value>observation</value>
+      <key>minoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(832, 620)</value>
+      <key>type</key>
+      <value>'SER'</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>win_size</key>
+      <value>block*100</value>
     </param>
   </block>
   <block>
-    <key>virtual_source</key>
+    <key>blocks_add_xx</key>
     <param>
-      <key>id</key>
-      <value>virtual_source_0</value>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
-      <key>stream_id</key>
-      <value>observation</value>
+      <key>affinity</key>
+      <value></value>
+    </param>
+    <param>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(64, 732)</value>
+      <value>(888, 304)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
+    <param>
+      <key>id</key>
+      <value>blocks_add_xx_1</value>
+    </param>
+    <param>
+      <key>type</key>
+      <value>float</value>
+    </param>
+    <param>
+      <key>maxoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>minoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>num_inputs</key>
+      <value>2</value>
+    </param>
+    <param>
+      <key>vlen</key>
+      <value>1</value>
+    </param>
   </block>
   <block>
-    <key>virtual_sink</key>
+    <key>blocks_throttle</key>
     <param>
-      <key>id</key>
-      <value>virtual_sink_0_1</value>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
-      <key>stream_id</key>
-      <value>estimate</value>
+      <key>affinity</key>
+      <value></value>
+    </param>
+    <param>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(800, 732)</value>
+      <value>(208, 300)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>analog_noise_source_x</key>
     <param>
       <key>id</key>
-      <value>analog_noise_source_x_0</value>
+      <value>blocks_throttle_0</value>
     </param>
     <param>
-      <key>_enabled</key>
+      <key>ignoretag</key>
       <value>True</value>
     </param>
     <param>
-      <key>type</key>
-      <value>float</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>noise_type</key>
-      <value>analog.GR_GAUSSIAN</value>
+      <key>minoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>amp</key>
-      <value>noisevar**0.5</value>
+      <key>samples_per_second</key>
+      <value>R</value>
     </param>
     <param>
-      <key>seed</key>
-      <value>-42</value>
+      <key>type</key>
+      <value>byte</value>
     </param>
     <param>
+      <key>vlen</key>
+      <value>1</value>
+    </param>
+  </block>
+  <block>
+    <key>digital_chunks_to_symbols_xx</key>
+    <param>
       <key>alias</key>
       <value></value>
     </param>
     <param>
+      <key>comment</key>
+      <value></value>
+    </param>
+    <param>
       <key>affinity</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>dimension</key>
+      <value>dim</value>
     </param>
     <param>
-      <key>maxoutbuf</key>
-      <value>0</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(384, 502)</value>
+      <value>(632, 292)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
+    <param>
+      <key>id</key>
+      <value>digital_chunks_to_symbols_xx_0</value>
+    </param>
+    <param>
+      <key>in_type</key>
+      <value>byte</value>
+    </param>
+    <param>
+      <key>maxoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>minoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>num_ports</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>out_type</key>
+      <value>float</value>
+    </param>
+    <param>
+      <key>symbol_table</key>
+      <value>constellation</value>
+    </param>
   </block>
   <block>
-    <key>variable_slider</key>
+    <key>import</key>
     <param>
-      <key>id</key>
-      <value>EsN0_dB</value>
+      <key>alias</key>
+      <value></value>
+    </param>
+    <param>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>label</key>
-      <value>Es/N0 (dB)</value>
+      <key>_coordinate</key>
+      <value>(0, 116)</value>
     </param>
     <param>
-      <key>value</key>
-      <value>4.0</value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>min</key>
-      <value>-10</value>
+      <key>id</key>
+      <value>import_0</value>
+    </param>
+    <param>
+      <key>import</key>
+      <value>import numpy</value>
+    </param>
+  </block>
+  <block>
+    <key>import</key>
+    <param>
+      <key>alias</key>
+      <value></value>
+    </param>
+    <param>
+      <key>comment</key>
+      <value></value>
+    </param>
+    <param>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
-      <key>max</key>
-      <value>30</value>
+      <key>_coordinate</key>
+      <value>(0, 164)</value>
     </param>
     <param>
-      <key>num_steps</key>
-      <value>1000</value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>style</key>
-      <value>wx.SL_HORIZONTAL</value>
+      <key>id</key>
+      <value>import_0_0</value>
     </param>
     <param>
-      <key>converver</key>
-      <value>float_converter</value>
+      <key>import</key>
+      <value>import gnuradio.trellis.fsm_utils as fu</value>
     </param>
+  </block>
+  <block>
+    <key>note</key>
     <param>
-      <key>grid_pos</key>
+      <key>alias</key>
       <value></value>
     </param>
     <param>
-      <key>notebook</key>
+      <key>comment</key>
       <value></value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(608, 105)</value>
+      <value>(312, 628)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>analog_random_source_x</key>
     <param>
       <key>id</key>
-      <value>analog_random_source_x_0</value>
+      <value>note_0</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>note</key>
+      <value>Substititue the metrics/Viterbi block with Viterbi_combo</value>
     </param>
+  </block>
+  <block>
+    <key>qtgui_number_sink</key>
     <param>
-      <key>type</key>
-      <value>byte</value>
+      <key>autoscale</key>
+      <value>False</value>
     </param>
     <param>
-      <key>min</key>
+      <key>avg</key>
       <value>0</value>
     </param>
     <param>
-      <key>max</key>
-      <value>2</value>
-    </param>
-    <param>
-      <key>num_samps</key>
-      <value>1007</value>
-    </param>
-    <param>
-      <key>repeat</key>
-      <value>True</value>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
-      <key>alias</key>
+      <key>comment</key>
       <value></value>
     </param>
     <param>
@@ -647,580 +833,572 @@
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>_enabled</key>
+      <value>1</value>
     </param>
     <param>
-      <key>maxoutbuf</key>
-      <value>0</value>
+      <key>_coordinate</key>
+      <value>(896, 492)</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(8, 359)</value>
+      <key>gui_hint</key>
+      <value></value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>wxgui_numbersink2</key>
     <param>
-      <key>id</key>
-      <value>wxgui_numbersink2_3_0_0</value>
+      <key>graph_type</key>
+      <value>qtgui.NUM_GRAPH_HORIZ</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>id</key>
+      <value>qtgui_number_sink_0</value>
     </param>
     <param>
       <key>type</key>
       <value>float</value>
     </param>
     <param>
-      <key>title</key>
-      <value>BER</value>
+      <key>color1</key>
+      <value>("black", "black")</value>
     </param>
     <param>
-      <key>units</key>
+      <key>factor1</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>label1</key>
       <value>BER</value>
     </param>
     <param>
-      <key>samp_rate</key>
-      <value>R</value>
+      <key>unit1</key>
+      <value></value>
     </param>
     <param>
-      <key>min_value</key>
-      <value>0</value>
+      <key>color10</key>
+      <value>("black", "black")</value>
     </param>
     <param>
-      <key>max_value</key>
-      <value>1.0</value>
+      <key>factor10</key>
+      <value>1</value>
     </param>
     <param>
-      <key>factor</key>
-      <value>1.0</value>
+      <key>label10</key>
+      <value></value>
     </param>
     <param>
-      <key>decimal_places</key>
-      <value>6</value>
+      <key>unit10</key>
+      <value></value>
     </param>
     <param>
-      <key>ref_level</key>
-      <value>0</value>
+      <key>color2</key>
+      <value>("black", "black")</value>
     </param>
     <param>
-      <key>number_rate</key>
-      <value>15</value>
+      <key>factor2</key>
+      <value>1</value>
     </param>
     <param>
-      <key>peak_hold</key>
-      <value>False</value>
+      <key>label2</key>
+      <value></value>
     </param>
     <param>
-      <key>average</key>
-      <value>False</value>
+      <key>unit2</key>
+      <value></value>
     </param>
     <param>
-      <key>avg_alpha</key>
-      <value>0.001</value>
+      <key>color3</key>
+      <value>("black", "black")</value>
     </param>
     <param>
-      <key>show_gauge</key>
-      <value>False</value>
+      <key>factor3</key>
+      <value>1</value>
     </param>
     <param>
-      <key>win_size</key>
+      <key>label3</key>
       <value></value>
     </param>
     <param>
-      <key>grid_pos</key>
+      <key>unit3</key>
       <value></value>
     </param>
     <param>
-      <key>notebook</key>
-      <value></value>
+      <key>color4</key>
+      <value>("black", "black")</value>
     </param>
     <param>
-      <key>alias</key>
+      <key>factor4</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>label4</key>
       <value></value>
     </param>
     <param>
-      <key>affinity</key>
+      <key>unit4</key>
       <value></value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(728, 1133)</value>
+      <key>color5</key>
+      <value>("black", "black")</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>factor5</key>
+      <value>1</value>
     </param>
-  </block>
-  <block>
-    <key>virtual_source</key>
     <param>
-      <key>id</key>
-      <value>virtual_source_0_0</value>
+      <key>label5</key>
+      <value></value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>unit5</key>
+      <value></value>
     </param>
     <param>
-      <key>stream_id</key>
-      <value>info</value>
+      <key>color6</key>
+      <value>("black", "black")</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(80, 1148)</value>
+      <key>factor6</key>
+      <value>1</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>label6</key>
+      <value></value>
     </param>
-  </block>
-  <block>
-    <key>virtual_source</key>
     <param>
-      <key>id</key>
-      <value>virtual_source_0_0_0</value>
+      <key>unit6</key>
+      <value></value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>color7</key>
+      <value>("black", "black")</value>
     </param>
     <param>
-      <key>stream_id</key>
-      <value>estimate</value>
+      <key>factor7</key>
+      <value>1</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(72, 1244)</value>
+      <key>label7</key>
+      <value></value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>unit7</key>
+      <value></value>
     </param>
-  </block>
-  <block>
-    <key>blks2_error_rate</key>
     <param>
-      <key>id</key>
-      <value>blks2_error_rate_0</value>
+      <key>color8</key>
+      <value>("black", "black")</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>factor8</key>
+      <value>1</value>
     </param>
     <param>
-      <key>type</key>
-      <value>'SER'</value>
+      <key>label8</key>
+      <value></value>
     </param>
     <param>
-      <key>win_size</key>
-      <value>block*100</value>
+      <key>unit8</key>
+      <value></value>
     </param>
     <param>
-      <key>bits_per_symbol</key>
+      <key>color9</key>
+      <value>("black", "black")</value>
+    </param>
+    <param>
+      <key>factor9</key>
       <value>1</value>
     </param>
     <param>
-      <key>alias</key>
+      <key>label9</key>
       <value></value>
     </param>
     <param>
-      <key>affinity</key>
+      <key>unit9</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>max</key>
+      <value>1</value>
     </param>
     <param>
-      <key>maxoutbuf</key>
+      <key>min</key>
       <value>0</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(312, 1184)</value>
+      <key>name</key>
+      <value>"BER"</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>nconnections</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>update_time</key>
+      <value>0.10</value>
     </param>
   </block>
   <block>
-    <key>note</key>
+    <key>trellis_encoder_xx</key>
     <param>
-      <key>id</key>
-      <value>note_0</value>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>blocklength</key>
+      <value>0</value>
     </param>
     <param>
-      <key>note</key>
-      <value>Substititue the metrics/Viterbi block with Viterbi_combo</value>
+      <key>blockwise</key>
+      <value>False</value>
     </param>
     <param>
-      <key>alias</key>
+      <key>comment</key>
       <value></value>
     </param>
     <param>
+      <key>affinity</key>
+      <value></value>
+    </param>
+    <param>
+      <key>_enabled</key>
+      <value>True</value>
+    </param>
+    <param>
+      <key>fsm_args</key>
+      <value>prefix+fsm</value>
+    </param>
+    <param>
       <key>_coordinate</key>
-      <value>(712, 868)</value>
+      <value>(392, 292)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>trellis_metrics_x</key>
     <param>
       <key>id</key>
-      <value>trellis_metrics_x_0</value>
+      <value>trellis_encoder_xx_0</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>False</value>
+      <key>init_state</key>
+      <value>0</value>
     </param>
     <param>
-      <key>type</key>
-      <value>f</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>card</key>
-      <value>trellis.fsm(prefix+fsm).O()</value>
+      <key>minoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>dim</key>
-      <value>dim</value>
+      <key>type</key>
+      <value>bb</value>
     </param>
+  </block>
+  <block>
+    <key>trellis_metrics_x</key>
     <param>
-      <key>table</key>
-      <value>constellation</value>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
-      <key>metric_type</key>
-      <value>digital.TRELLIS_EUCLIDEAN</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>table</key>
+      <value>constellation</value>
     </param>
     <param>
       <key>affinity</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>dim</key>
+      <value>dim</value>
     </param>
     <param>
-      <key>maxoutbuf</key>
-      <value>0</value>
+      <key>_enabled</key>
+      <value>False</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(304, 711)</value>
+      <value>(200, 684)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>trellis_viterbi_x</key>
     <param>
       <key>id</key>
-      <value>trellis_viterbi_x_0</value>
-    </param>
-    <param>
-      <key>_enabled</key>
-      <value>False</value>
-    </param>
-    <param>
-      <key>type</key>
-      <value>b</value>
+      <value>trellis_metrics_x_0</value>
     </param>
     <param>
-      <key>fsm_args</key>
-      <value>prefix+fsm</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>block_size</key>
-      <value>block</value>
+      <key>metric_type</key>
+      <value>digital.TRELLIS_EUCLIDEAN</value>
     </param>
     <param>
-      <key>init_state</key>
-      <value>-1</value>
+      <key>minoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>final_state</key>
-      <value>-1</value>
+      <key>card</key>
+      <value>trellis.fsm(prefix+fsm).O()</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>type</key>
+      <value>f</value>
     </param>
+  </block>
+  <block>
+    <key>trellis_viterbi_combined_xx</key>
     <param>
-      <key>affinity</key>
+      <key>alias</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>block_size</key>
+      <value>block</value>
     </param>
     <param>
-      <key>maxoutbuf</key>
-      <value>0</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(544, 711)</value>
+      <key>table</key>
+      <value>constellation</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>affinity</key>
+      <value></value>
     </param>
-  </block>
-  <block>
-    <key>trellis_viterbi_combined_xx</key>
     <param>
-      <key>id</key>
-      <value>trellis_viterbi_combined_xx_0</value>
+      <key>dim</key>
+      <value>dim</value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>type</key>
-      <value>f</value>
+      <key>fsm_args</key>
+      <value>prefix+fsm</value>
     </param>
     <param>
-      <key>out_type</key>
-      <value>b</value>
+      <key>final_state</key>
+      <value>-1</value>
     </param>
     <param>
-      <key>fsm_args</key>
-      <value>prefix+fsm</value>
+      <key>_coordinate</key>
+      <value>(248, 484)</value>
     </param>
     <param>
-      <key>block_size</key>
-      <value>block</value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>init_state</key>
-      <value>-1</value>
+      <key>id</key>
+      <value>trellis_viterbi_combined_xx_0</value>
     </param>
     <param>
-      <key>final_state</key>
+      <key>init_state</key>
       <value>-1</value>
     </param>
     <param>
-      <key>dim</key>
-      <value>dim</value>
+      <key>type</key>
+      <value>f</value>
     </param>
     <param>
-      <key>table</key>
-      <value>constellation</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
       <key>metric_type</key>
       <value>digital.TRELLIS_EUCLIDEAN</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
-    </param>
-    <param>
-      <key>affinity</key>
-      <value></value>
-    </param>
-    <param>
       <key>minoutbuf</key>
       <value>0</value>
     </param>
     <param>
-      <key>maxoutbuf</key>
-      <value>0</value>
+      <key>out_type</key>
+      <value>b</value>
     </param>
+  </block>
+  <block>
+    <key>trellis_viterbi_x</key>
     <param>
-      <key>_coordinate</key>
-      <value>(440, 866)</value>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>block_size</key>
+      <value>block</value>
     </param>
-  </block>
-  <block>
-    <key>import</key>
     <param>
-      <key>id</key>
-      <value>import_0</value>
+      <key>comment</key>
+      <value></value>
+    </param>
+    <param>
+      <key>affinity</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
-      <value>True</value>
+      <value>False</value>
     </param>
     <param>
-      <key>import</key>
-      <value>import numpy</value>
+      <key>fsm_args</key>
+      <value>prefix+fsm</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>final_state</key>
+      <value>-1</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(16, 140)</value>
+      <value>(440, 684)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>import</key>
     <param>
       <key>id</key>
-      <value>import_0_0</value>
-    </param>
-    <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <value>trellis_viterbi_x_0</value>
     </param>
     <param>
-      <key>import</key>
-      <value>import gnuradio.trellis.fsm_utils as fu</value>
+      <key>init_state</key>
+      <value>-1</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(24, 196)</value>
+      <key>minoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>type</key>
+      <value>b</value>
     </param>
   </block>
   <block>
-    <key>digital_chunks_to_symbols_xx</key>
+    <key>virtual_sink</key>
     <param>
-      <key>id</key>
-      <value>digital_chunks_to_symbols_xx_0</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>in_type</key>
-      <value>byte</value>
-    </param>
-    <param>
-      <key>out_type</key>
-      <value>float</value>
+      <key>_coordinate</key>
+      <value>(992, 316)</value>
     </param>
     <param>
-      <key>symbol_table</key>
-      <value>constellation</value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>dimension</key>
-      <value>dim</value>
+      <key>id</key>
+      <value>virtual_sink_0</value>
     </param>
     <param>
-      <key>num_ports</key>
-      <value>1</value>
+      <key>stream_id</key>
+      <value>observation</value>
     </param>
+  </block>
+  <block>
+    <key>virtual_sink</key>
     <param>
-      <key>alias</key>
+      <key>comment</key>
       <value></value>
     </param>
     <param>
-      <key>affinity</key>
-      <value></value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>_coordinate</key>
+      <value>(224, 428)</value>
     </param>
     <param>
-      <key>maxoutbuf</key>
+      <key>_rotation</key>
       <value>0</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(696, 373)</value>
+      <key>id</key>
+      <value>virtual_sink_0_0</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>stream_id</key>
+      <value>info</value>
     </param>
   </block>
   <block>
-    <key>trellis_encoder_xx</key>
+    <key>virtual_source</key>
     <param>
-      <key>id</key>
-      <value>trellis_encoder_xx_0</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>type</key>
-      <value>bb</value>
-    </param>
-    <param>
-      <key>fsm_args</key>
-      <value>prefix+fsm</value>
+      <key>_coordinate</key>
+      <value>(0, 532)</value>
     </param>
     <param>
-      <key>init_state</key>
+      <key>_rotation</key>
       <value>0</value>
     </param>
     <param>
-      <key>blockwise</key>
-      <value>False</value>
+      <key>id</key>
+      <value>virtual_source_0</value>
     </param>
     <param>
-      <key>blocklength</key>
-      <value>0</value>
+      <key>stream_id</key>
+      <value>observation</value>
     </param>
+  </block>
+  <block>
+    <key>virtual_source</key>
     <param>
-      <key>alias</key>
+      <key>comment</key>
       <value></value>
     </param>
     <param>
-      <key>affinity</key>
-      <value></value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>_coordinate</key>
+      <value>(328, 428)</value>
     </param>
     <param>
-      <key>maxoutbuf</key>
+      <key>_rotation</key>
       <value>0</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(424, 373)</value>
+      <key>id</key>
+      <value>virtual_source_0_0</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>stream_id</key>
+      <value>info</value>
     </param>
   </block>
   <connection>
@@ -1230,26 +1408,20 @@
     <sink_key>1</sink_key>
   </connection>
   <connection>
-    <source_block_id>digital_chunks_to_symbols_xx_0</source_block_id>
-    <sink_block_id>blocks_add_xx_1</sink_block_id>
-    <source_key>0</source_key>
-    <sink_key>0</sink_key>
-  </connection>
-  <connection>
     <source_block_id>analog_random_source_x_0</source_block_id>
     <sink_block_id>blocks_throttle_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>blocks_throttle_0</source_block_id>
-    <sink_block_id>trellis_encoder_xx_0</sink_block_id>
+    <source_block_id>analog_random_source_x_0</source_block_id>
+    <sink_block_id>virtual_sink_0_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>trellis_encoder_xx_0</source_block_id>
-    <sink_block_id>digital_chunks_to_symbols_xx_0</sink_block_id>
+    <source_block_id>blks2_error_rate_0</source_block_id>
+    <sink_block_id>qtgui_number_sink_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
@@ -1260,57 +1432,57 @@
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>virtual_source_0</source_block_id>
-    <sink_block_id>trellis_metrics_x_0</sink_block_id>
+    <source_block_id>blocks_throttle_0</source_block_id>
+    <sink_block_id>trellis_encoder_xx_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>trellis_metrics_x_0</source_block_id>
-    <sink_block_id>trellis_viterbi_x_0</sink_block_id>
+    <source_block_id>digital_chunks_to_symbols_xx_0</source_block_id>
+    <sink_block_id>blocks_add_xx_1</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>analog_random_source_x_0</source_block_id>
-    <sink_block_id>virtual_sink_0_0</sink_block_id>
+    <source_block_id>trellis_encoder_xx_0</source_block_id>
+    <sink_block_id>digital_chunks_to_symbols_xx_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>trellis_viterbi_x_0</source_block_id>
-    <sink_block_id>virtual_sink_0_1</sink_block_id>
+    <source_block_id>trellis_metrics_x_0</source_block_id>
+    <sink_block_id>trellis_viterbi_x_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>virtual_source_0</source_block_id>
-    <sink_block_id>trellis_viterbi_combined_xx_0</sink_block_id>
+    <source_block_id>trellis_viterbi_combined_xx_0</source_block_id>
+    <sink_block_id>blks2_error_rate_0</sink_block_id>
     <source_key>0</source_key>
-    <sink_key>0</sink_key>
+    <sink_key>1</sink_key>
   </connection>
   <connection>
-    <source_block_id>trellis_viterbi_combined_xx_0</source_block_id>
-    <sink_block_id>virtual_sink_0_1</sink_block_id>
+    <source_block_id>trellis_viterbi_x_0</source_block_id>
+    <sink_block_id>blks2_error_rate_0</sink_block_id>
     <source_key>0</source_key>
-    <sink_key>0</sink_key>
+    <sink_key>1</sink_key>
   </connection>
   <connection>
-    <source_block_id>blks2_error_rate_0</source_block_id>
-    <sink_block_id>wxgui_numbersink2_3_0_0</sink_block_id>
+    <source_block_id>virtual_source_0</source_block_id>
+    <sink_block_id>trellis_metrics_x_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>virtual_source_0_0</source_block_id>
-    <sink_block_id>blks2_error_rate_0</sink_block_id>
+    <source_block_id>virtual_source_0</source_block_id>
+    <sink_block_id>trellis_viterbi_combined_xx_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>virtual_source_0_0_0</source_block_id>
+    <source_block_id>virtual_source_0_0</source_block_id>
     <sink_block_id>blks2_error_rate_0</sink_block_id>
     <source_key>0</source_key>
-    <sink_key>1</sink_key>
+    <sink_key>0</sink_key>
   </connection>
 </flow_graph>
diff --git a/gr-trellis/examples/grc/turbo_equalization.grc 
b/gr-trellis/examples/grc/turbo_equalization.grc
index c83c59d..5f9f783 100644
--- a/gr-trellis/examples/grc/turbo_equalization.grc
+++ b/gr-trellis/examples/grc/turbo_equalization.grc
@@ -1,675 +1,689 @@
-<?xml version='1.0' encoding='ASCII'?>
-<?grc format='1' created='3.7.6'?>
+<?xml version='1.0' encoding='utf-8'?>
+<?grc format='1' created='3.7.11'?>
 <flow_graph>
   <timestamp>Wed Oct  1 11:04:18 2014</timestamp>
   <block>
     <key>options</key>
     <param>
-      <key>id</key>
-      <value>turbo_equalization</value>
+      <key>author</key>
+      <value>AA</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>window_size</key>
+      <value>2048, 3048</value>
     </param>
     <param>
-      <key>title</key>
-      <value>Hard/Soft/Turbo Equalization</value>
+      <key>category</key>
+      <value>Custom</value>
     </param>
     <param>
-      <key>author</key>
-      <value>AA</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>description</key>
       <value>gnuradio flow graph</value>
     </param>
     <param>
-      <key>window_size</key>
-      <value>2048, 3048</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
-      <key>generate_options</key>
-      <value>wx_gui</value>
+      <key>_coordinate</key>
+      <value>(0, 4)</value>
     </param>
     <param>
-      <key>category</key>
-      <value>Custom</value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>run_options</key>
-      <value>prompt</value>
+      <key>generate_options</key>
+      <value>qt_gui</value>
     </param>
     <param>
-      <key>run</key>
-      <value>True</value>
+      <key>hier_block_src_path</key>
+      <value>.:</value>
+    </param>
+    <param>
+      <key>id</key>
+      <value>turbo_equalization</value>
     </param>
     <param>
       <key>max_nouts</key>
       <value>0</value>
     </param>
     <param>
-      <key>realtime_scheduling</key>
+      <key>qt_qss_theme</key>
       <value></value>
     </param>
     <param>
-      <key>alias</key>
+      <key>realtime_scheduling</key>
       <value></value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(10, 10)</value>
+      <key>run_command</key>
+      <value>{python} -u {filename}</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>run_options</key>
+      <value>prompt</value>
     </param>
-  </block>
-  <block>
-    <key>variable</key>
     <param>
-      <key>id</key>
-      <value>fsm_o</value>
+      <key>run</key>
+      <value>True</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>thread_safe_setters</key>
+      <value></value>
     </param>
     <param>
-      <key>value</key>
-      <value>trellis.fsm(prefix+"/awgn1o2_4.fsm")</value>
+      <key>title</key>
+      <value>Hard/Soft/Turbo Equalization</value>
     </param>
+  </block>
+  <block>
+    <key>variable</key>
     <param>
-      <key>alias</key>
+      <key>comment</key>
       <value></value>
     </param>
     <param>
+      <key>_enabled</key>
+      <value>True</value>
+    </param>
+    <param>
       <key>_coordinate</key>
-      <value>(344, 21)</value>
+      <value>(376, 132)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>variable</key>
     <param>
       <key>id</key>
-      <value>block_b</value>
+      <value>Es</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>value</key>
+      <value>numpy.mean((numpy.square(numpy.abs(tot_mod[1]))))</value>
+    </param>
+  </block>
+  <block>
+    <key>variable_qtgui_range</key>
+    <param>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>value</key>
-      <value>bpsym*1000</value>
+      <value>2</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>_enabled</key>
+      <value>1</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(216, 21)</value>
+      <value>(656, 68)</value>
+    </param>
+    <param>
+      <key>gui_hint</key>
+      <value></value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>variable</key>
     <param>
       <key>id</key>
-      <value>interleaver</value>
+      <value>EsN0_dB</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>label</key>
+      <value>Es/N0 (dB)</value>
     </param>
     <param>
-      <key>value</key>
-      <value>trellis.interleaver(block_b/bpsym,666)</value>
+      <key>min_len</key>
+      <value>200</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>orient</key>
+      <value>Qt.Horizontal</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(528, 117)</value>
+      <key>start</key>
+      <value>-10</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>step</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>stop</key>
+      <value>20</value>
+    </param>
+    <param>
+      <key>rangeType</key>
+      <value>float</value>
+    </param>
+    <param>
+      <key>widget</key>
+      <value>counter_slider</value>
     </param>
   </block>
   <block>
     <key>variable</key>
     <param>
-      <key>id</key>
-      <value>Es</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>value</key>
-      <value>numpy.mean((numpy.square(numpy.abs(tot_mod[1]))))</value>
+      <key>_coordinate</key>
+      <value>(176, 68)</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(776, 181)</value>
+      <key>id</key>
+      <value>R</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>value</key>
+      <value>100e3</value>
     </param>
   </block>
   <block>
     <key>variable</key>
     <param>
-      <key>id</key>
-      <value>noisevar</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>value</key>
-      <value>10**(-EsN0_dB/10.0)  * Es   /2.0</value>
+      <key>_coordinate</key>
+      <value>(176, 4)</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(1080, 181)</value>
+      <key>id</key>
+      <value>block_b</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>value</key>
+      <value>bpsym*1000</value>
     </param>
   </block>
   <block>
     <key>variable</key>
     <param>
-      <key>id</key>
-      <value>bpsym</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>value</key>
-      <value>int(round(math.log(fsm_o.I())/math.log(2)))</value>
+      <key>_coordinate</key>
+      <value>(488, 4)</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(528, 29)</value>
+      <key>id</key>
+      <value>bpsym</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>value</key>
+      <value>int(round(math.log(fsm_o.I())/math.log(2)))</value>
     </param>
   </block>
   <block>
     <key>variable</key>
     <param>
-      <key>id</key>
-      <value>channel</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>value</key>
-      <value>fu.c_channel</value>
+      <key>_coordinate</key>
+      <value>(176, 196)</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(320, 205)</value>
+      <key>id</key>
+      <value>channel</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>value</key>
+      <value>fu.c_channel</value>
     </param>
   </block>
   <block>
     <key>variable</key>
     <param>
-      <key>id</key>
-      <value>modulation</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>value</key>
-      <value>fu.pam4</value>
+      <key>_coordinate</key>
+      <value>(304, 68)</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(320, 117)</value>
+      <key>id</key>
+      <value>fsm_i</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>value</key>
+      <value>trellis.fsm(len(modulation[1]),len(channel))</value>
     </param>
   </block>
   <block>
     <key>variable</key>
     <param>
-      <key>id</key>
-      <value>R</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>value</key>
-      <value>100e3</value>
+      <key>_coordinate</key>
+      <value>(328, 4)</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(216, 109)</value>
+      <key>id</key>
+      <value>fsm_o</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>value</key>
+      <value>trellis.fsm(prefix+"/awgn1o2_4.fsm")</value>
     </param>
   </block>
   <block>
     <key>variable</key>
     <param>
-      <key>id</key>
-      <value>tot_mod</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>value</key>
-      <value>fu.make_isi_lookup(modulation,channel,False)</value>
+      <key>_coordinate</key>
+      <value>(488, 68)</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(320, 381)</value>
+      <key>id</key>
+      <value>interleaver</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>value</key>
+      <value>trellis.interleaver(block_b/bpsym,666)</value>
     </param>
   </block>
   <block>
     <key>variable</key>
     <param>
-      <key>id</key>
-      <value>prefix</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>value</key>
-      <value>"@FSM_FILE_INSTALL_DIR@"</value>
+      <key>_coordinate</key>
+      <value>(176, 132)</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(768, 21)</value>
+      <key>id</key>
+      <value>modulation</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>value</key>
+      <value>fu.pam4</value>
     </param>
   </block>
   <block>
     <key>variable</key>
     <param>
-      <key>id</key>
-      <value>fsm_i</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>value</key>
-      <value>trellis.fsm(len(modulation[1]),len(channel))</value>
-    </param>
-    <param>
-      <key>alias</key>
-      <value></value>
-    </param>
-    <param>
-      <key>_coordinate</key>
-      <value>(320, 293)</value>
+      <key>_coordinate</key>
+      <value>(376, 196)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>import</key>
     <param>
       <key>id</key>
-      <value>import_0_0</value>
+      <value>noisevar</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>value</key>
+      <value>10**(-EsN0_dB/10.0)  * Es   /2.0</value>
     </param>
+  </block>
+  <block>
+    <key>variable</key>
     <param>
-      <key>import</key>
-      <value>import gnuradio.trellis.fsm_utils as fu</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>_enabled</key>
+      <value>1</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(24, 252)</value>
+      <value>(728, 4)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>import</key>
     <param>
       <key>id</key>
-      <value>import_0</value>
+      <value>prefix</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>value</key>
+      <value>"@FSM_FILE_INSTALL_DIR@"</value>
     </param>
+  </block>
+  <block>
+    <key>variable</key>
     <param>
-      <key>import</key>
-      <value>import numpy</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(16, 140)</value>
+      <value>(488, 132)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>import</key>
     <param>
       <key>id</key>
-      <value>import_0_1</value>
-    </param>
-    <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <value>tot_mod</value>
     </param>
     <param>
-      <key>import</key>
-      <value>import math</value>
+      <key>value</key>
+      <value>fu.make_isi_lookup(modulation,channel,False)</value>
     </param>
+  </block>
+  <block>
+    <key>analog_const_source_x</key>
     <param>
       <key>alias</key>
       <value></value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(24, 188)</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
-      <key>_rotation</key>
+      <key>const</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>virtual_sink</key>
     <param>
-      <key>id</key>
-      <value>virtual_sink_0</value>
+      <key>affinity</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>stream_id</key>
-      <value>observation</value>
-    </param>
-    <param>
       <key>_coordinate</key>
-      <value>(608, 1076)</value>
+      <value>(0, 1148)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>blocks_add_xx</key>
     <param>
       <key>id</key>
-      <value>blocks_add_xx_1</value>
+      <value>analog_const_source_x_0</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>type</key>
-      <value>float</value>
+      <key>minoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>num_inputs</key>
-      <value>2</value>
+      <key>type</key>
+      <value>float</value>
     </param>
+  </block>
+  <block>
+    <key>analog_noise_source_x</key>
     <param>
-      <key>vlen</key>
-      <value>1</value>
+      <key>amp</key>
+      <value>noisevar**0.5</value>
     </param>
     <param>
       <key>alias</key>
       <value></value>
     </param>
     <param>
-      <key>affinity</key>
+      <key>comment</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>affinity</key>
+      <value></value>
     </param>
     <param>
-      <key>maxoutbuf</key>
-      <value>0</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(688, 944)</value>
+      <value>(520, 540)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>analog_noise_source_x</key>
     <param>
       <key>id</key>
       <value>analog_noise_source_x_0</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>type</key>
-      <value>float</value>
+      <key>minoutbuf</key>
+      <value>0</value>
     </param>
     <param>
       <key>noise_type</key>
       <value>analog.GR_GAUSSIAN</value>
     </param>
     <param>
-      <key>amp</key>
-      <value>noisevar**0.5</value>
+      <key>type</key>
+      <value>float</value>
     </param>
     <param>
       <key>seed</key>
       <value>-42</value>
     </param>
+  </block>
+  <block>
+    <key>analog_random_source_x</key>
     <param>
       <key>alias</key>
       <value></value>
     </param>
     <param>
-      <key>affinity</key>
+      <key>comment</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>affinity</key>
+      <value></value>
     </param>
     <param>
-      <key>maxoutbuf</key>
-      <value>0</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(288, 958)</value>
+      <value>(0, 300)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>fir_filter_xxx</key>
     <param>
       <key>id</key>
-      <value>fir_filter_xxx_0</value>
+      <value>analog_random_source_x_0</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>type</key>
-      <value>fff</value>
+      <key>max</key>
+      <value>2</value>
     </param>
     <param>
-      <key>decim</key>
-      <value>1</value>
+      <key>minoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>taps</key>
-      <value>fu.c_channel</value>
+      <key>min</key>
+      <value>0</value>
     </param>
     <param>
-      <key>samp_delay</key>
-      <value>0</value>
+      <key>num_samps</key>
+      <value>1007</value>
+    </param>
+    <param>
+      <key>type</key>
+      <value>byte</value>
+    </param>
+    <param>
+      <key>repeat</key>
+      <value>True</value>
+    </param>
+  </block>
+  <block>
+    <key>blks2_error_rate</key>
+    <param>
+      <key>bits_per_symbol</key>
+      <value>1</value>
     </param>
     <param>
       <key>alias</key>
       <value></value>
     </param>
     <param>
-      <key>affinity</key>
+      <key>comment</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>affinity</key>
+      <value></value>
     </param>
     <param>
-      <key>maxoutbuf</key>
-      <value>0</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(448, 861)</value>
+      <value>(904, 892)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>digital_chunks_to_symbols_xx</key>
     <param>
       <key>id</key>
-      <value>digital_chunks_to_symbols_xx_0_0</value>
-    </param>
-    <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <value>blks2_error_rate_0_0</value>
     </param>
     <param>
-      <key>in_type</key>
-      <value>byte</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>out_type</key>
-      <value>float</value>
+      <key>minoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>symbol_table</key>
-      <value>modulation[1]</value>
+      <key>type</key>
+      <value>'BER'</value>
     </param>
     <param>
-      <key>dimension</key>
-      <value>modulation[0]</value>
+      <key>win_size</key>
+      <value>block_b*100</value>
     </param>
+  </block>
+  <block>
+    <key>blks2_error_rate</key>
     <param>
-      <key>num_ports</key>
+      <key>bits_per_symbol</key>
       <value>1</value>
     </param>
     <param>
@@ -677,58 +691,58 @@
       <value></value>
     </param>
     <param>
-      <key>affinity</key>
+      <key>comment</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>affinity</key>
+      <value></value>
     </param>
     <param>
-      <key>maxoutbuf</key>
-      <value>0</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(480, 733)</value>
+      <value>(504, 1324)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>trellis_permutation</key>
     <param>
       <key>id</key>
-      <value>trellis_permutation_0</value>
+      <value>blks2_error_rate_0_0_0</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>type</key>
-      <value>byte</value>
+      <key>minoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>interleaver_size</key>
-      <value>interleaver.K()</value>
+      <key>type</key>
+      <value>'BER'</value>
     </param>
     <param>
-      <key>table</key>
-      <value>interleaver.INTER()</value>
+      <key>win_size</key>
+      <value>block_b*100</value>
     </param>
+  </block>
+  <block>
+    <key>blks2_error_rate</key>
     <param>
-      <key>syms_per_block</key>
+      <key>bits_per_symbol</key>
       <value>1</value>
     </param>
     <param>
-      <key>vlen</key>
-      <value>1</value>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
-      <key>alias</key>
+      <key>comment</key>
       <value></value>
     </param>
     <param>
@@ -736,1553 +750,1968 @@
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
-    </param>
-    <param>
-      <key>maxoutbuf</key>
-      <value>0</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(208, 726)</value>
+      <value>(584, 1548)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>virtual_sink</key>
     <param>
       <key>id</key>
-      <value>virtual_sink_0_0_0</value>
+      <value>blks2_error_rate_0_0_0_0</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>stream_id</key>
-      <value>info_i</value>
+      <key>minoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(968, 572)</value>
+      <key>type</key>
+      <value>'BER'</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>win_size</key>
+      <value>block_b*100</value>
     </param>
   </block>
   <block>
-    <key>blocks_throttle</key>
+    <key>blocks_add_xx</key>
     <param>
-      <key>id</key>
-      <value>blocks_throttle_0</value>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
-      <key>type</key>
-      <value>byte</value>
+      <key>affinity</key>
+      <value></value>
     </param>
     <param>
-      <key>samples_per_second</key>
-      <value>R</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
-      <key>vlen</key>
-      <value>1</value>
+      <key>_coordinate</key>
+      <value>(760, 488)</value>
     </param>
     <param>
-      <key>ignoretag</key>
-      <value>True</value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>id</key>
+      <value>blocks_add_xx_1</value>
     </param>
     <param>
-      <key>affinity</key>
-      <value></value>
+      <key>type</key>
+      <value>float</value>
     </param>
     <param>
-      <key>minoutbuf</key>
+      <key>maxoutbuf</key>
       <value>0</value>
     </param>
     <param>
-      <key>maxoutbuf</key>
+      <key>minoutbuf</key>
       <value>0</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(256, 580)</value>
+      <key>num_inputs</key>
+      <value>2</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>vlen</key>
+      <value>1</value>
     </param>
   </block>
   <block>
-    <key>analog_random_source_x</key>
+    <key>blocks_char_to_float</key>
     <param>
-      <key>id</key>
-      <value>analog_random_source_x_0</value>
+      <key>alias</key>
+      <value></value>
+    </param>
+    <param>
+      <key>comment</key>
+      <value></value>
+    </param>
+    <param>
+      <key>affinity</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>type</key>
-      <value>byte</value>
+      <key>_coordinate</key>
+      <value>(48, 924)</value>
     </param>
     <param>
-      <key>min</key>
+      <key>_rotation</key>
       <value>0</value>
     </param>
     <param>
-      <key>max</key>
-      <value>2</value>
+      <key>id</key>
+      <value>blocks_char_to_float_0</value>
     </param>
     <param>
-      <key>num_samps</key>
-      <value>1007</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>repeat</key>
-      <value>True</value>
+      <key>minoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>scale</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>vlen</key>
+      <value>1</value>
     </param>
+  </block>
+  <block>
+    <key>blocks_pack_k_bits_bb</key>
     <param>
       <key>alias</key>
       <value></value>
     </param>
     <param>
-      <key>affinity</key>
+      <key>comment</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>affinity</key>
+      <value></value>
     </param>
     <param>
-      <key>maxoutbuf</key>
-      <value>0</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(16, 559)</value>
+      <value>(376, 324)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>blocks_pack_k_bits_bb</key>
     <param>
       <key>id</key>
       <value>blocks_pack_k_bits_bb_0</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
-    </param>
-    <param>
       <key>k</key>
       <value>bpsym</value>
     </param>
     <param>
+      <key>maxoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>minoutbuf</key>
+      <value>0</value>
+    </param>
+  </block>
+  <block>
+    <key>blocks_throttle</key>
+    <param>
       <key>alias</key>
       <value></value>
     </param>
     <param>
-      <key>affinity</key>
+      <key>comment</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>affinity</key>
+      <value></value>
     </param>
     <param>
-      <key>maxoutbuf</key>
-      <value>0</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(440, 580)</value>
+      <value>(200, 324)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>trellis_encoder_xx</key>
     <param>
       <key>id</key>
-      <value>trellis_encoder_xx_0</value>
+      <value>blocks_throttle_0</value>
     </param>
     <param>
-      <key>_enabled</key>
+      <key>ignoretag</key>
       <value>True</value>
     </param>
     <param>
-      <key>type</key>
-      <value>bb</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>fsm_args</key>
-      <value>fsm_o</value>
+      <key>minoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>init_state</key>
-      <value>0</value>
+      <key>samples_per_second</key>
+      <value>R</value>
     </param>
     <param>
-      <key>blockwise</key>
-      <value>False</value>
+      <key>type</key>
+      <value>byte</value>
     </param>
     <param>
-      <key>blocklength</key>
-      <value>0</value>
+      <key>vlen</key>
+      <value>1</value>
     </param>
+  </block>
+  <block>
+    <key>blocks_unpack_k_bits_bb</key>
     <param>
       <key>alias</key>
       <value></value>
     </param>
     <param>
-      <key>affinity</key>
+      <key>comment</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>affinity</key>
+      <value></value>
     </param>
     <param>
-      <key>maxoutbuf</key>
-      <value>0</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(672, 573)</value>
+      <value>(416, 924)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>virtual_sink</key>
     <param>
       <key>id</key>
-      <value>virtual_sink_0_0</value>
-    </param>
-    <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <value>blocks_unpack_k_bits_bb_0</value>
     </param>
     <param>
-      <key>stream_id</key>
-      <value>info</value>
+      <key>k</key>
+      <value>bpsym</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(248, 524)</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>_rotation</key>
+      <key>minoutbuf</key>
       <value>0</value>
     </param>
   </block>
   <block>
-    <key>virtual_sink</key>
+    <key>blocks_unpack_k_bits_bb</key>
     <param>
-      <key>id</key>
-      <value>virtual_sink_0_1</value>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
-      <key>stream_id</key>
-      <value>estimate</value>
+      <key>affinity</key>
+      <value></value>
+    </param>
+    <param>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(864, 1380)</value>
+      <value>(896, 1164)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>blocks_unpack_k_bits_bb</key>
     <param>
       <key>id</key>
-      <value>blocks_unpack_k_bits_bb_0</value>
-    </param>
-    <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <value>blocks_unpack_k_bits_bb_0_0</value>
     </param>
     <param>
       <key>k</key>
       <value>bpsym</value>
     </param>
     <param>
+      <key>maxoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>minoutbuf</key>
+      <value>0</value>
+    </param>
+  </block>
+  <block>
+    <key>blocks_unpack_k_bits_bb</key>
+    <param>
       <key>alias</key>
       <value></value>
     </param>
     <param>
-      <key>affinity</key>
+      <key>comment</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>affinity</key>
+      <value></value>
     </param>
     <param>
-      <key>maxoutbuf</key>
-      <value>0</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(552, 1380)</value>
+      <value>(440, 1580)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>blocks_char_to_float</key>
     <param>
       <key>id</key>
-      <value>blocks_char_to_float_0</value>
+      <value>blocks_unpack_k_bits_bb_0_0_0</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>k</key>
+      <value>bpsym</value>
     </param>
     <param>
-      <key>vlen</key>
-      <value>1</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>scale</key>
-      <value>1</value>
+      <key>minoutbuf</key>
+      <value>0</value>
     </param>
+  </block>
+  <block>
+    <key>digital_chunks_to_symbols_xx</key>
     <param>
       <key>alias</key>
       <value></value>
     </param>
     <param>
+      <key>comment</key>
+      <value></value>
+    </param>
+    <param>
       <key>affinity</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>dimension</key>
+      <value>modulation[0]</value>
     </param>
     <param>
-      <key>maxoutbuf</key>
-      <value>0</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(72, 1380)</value>
+      <value>(264, 476)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>trellis_permutation</key>
     <param>
       <key>id</key>
-      <value>trellis_permutation_0_0</value>
-    </param>
-    <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <value>digital_chunks_to_symbols_xx_0_0</value>
     </param>
     <param>
-      <key>type</key>
+      <key>in_type</key>
       <value>byte</value>
     </param>
     <param>
-      <key>interleaver_size</key>
-      <value>interleaver.K()</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>table</key>
-      <value>interleaver.DEINTER()</value>
+      <key>minoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>syms_per_block</key>
+      <key>num_ports</key>
       <value>1</value>
     </param>
     <param>
-      <key>vlen</key>
-      <value>1</value>
+      <key>out_type</key>
+      <value>float</value>
+    </param>
+    <param>
+      <key>symbol_table</key>
+      <value>modulation[1]</value>
     </param>
+  </block>
+  <block>
+    <key>fir_filter_xxx</key>
     <param>
       <key>alias</key>
       <value></value>
     </param>
     <param>
+      <key>comment</key>
+      <value></value>
+    </param>
+    <param>
       <key>affinity</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>decim</key>
+      <value>1</value>
     </param>
     <param>
-      <key>maxoutbuf</key>
-      <value>0</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(568, 1222)</value>
+      <value>(480, 476)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>trellis_viterbi_combined_xx</key>
     <param>
       <key>id</key>
-      <value>trellis_viterbi_combined_xx_0</value>
+      <value>fir_filter_xxx_0</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>type</key>
-      <value>f</value>
+      <key>minoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>out_type</key>
-      <value>b</value>
+      <key>samp_delay</key>
+      <value>0</value>
     </param>
     <param>
-      <key>fsm_args</key>
-      <value>fsm_i</value>
+      <key>taps</key>
+      <value>fu.c_channel</value>
     </param>
     <param>
-      <key>block_size</key>
-      <value>interleaver.K()</value>
+      <key>type</key>
+      <value>fff</value>
     </param>
+  </block>
+  <block>
+    <key>import</key>
     <param>
-      <key>init_state</key>
-      <value>-1</value>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
-      <key>final_state</key>
-      <value>-1</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
-      <key>dim</key>
-      <value>tot_mod[0]</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
-      <key>table</key>
-      <value>tot_mod[1]</value>
+      <key>_coordinate</key>
+      <value>(0, 124)</value>
     </param>
     <param>
-      <key>metric_type</key>
-      <value>digital.TRELLIS_EUCLIDEAN</value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>id</key>
+      <value>import_0</value>
     </param>
     <param>
-      <key>affinity</key>
+      <key>import</key>
+      <value>import numpy</value>
+    </param>
+  </block>
+  <block>
+    <key>import</key>
+    <param>
+      <key>alias</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
-      <key>maxoutbuf</key>
-      <value>0</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(288, 1194)</value>
+      <value>(0, 220)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
+    <param>
+      <key>id</key>
+      <value>import_0_0</value>
+    </param>
+    <param>
+      <key>import</key>
+      <value>import gnuradio.trellis.fsm_utils as fu</value>
+    </param>
   </block>
   <block>
-    <key>virtual_sink</key>
+    <key>import</key>
     <param>
-      <key>id</key>
-      <value>virtual_sink_0_1_0</value>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
-      <key>stream_id</key>
-      <value>estimate_i</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(896, 1228)</value>
+      <value>(0, 172)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
+    <param>
+      <key>id</key>
+      <value>import_0_1</value>
+    </param>
+    <param>
+      <key>import</key>
+      <value>import math</value>
+    </param>
   </block>
   <block>
-    <key>virtual_source</key>
+    <key>note</key>
     <param>
-      <key>id</key>
-      <value>virtual_source_0</value>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
-      <key>stream_id</key>
-      <value>observation</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(40, 1236)</value>
+      <value>(680, 820)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>analog_const_source_x</key>
     <param>
       <key>id</key>
-      <value>analog_const_source_x_0</value>
-    </param>
-    <param>
-      <key>_enabled</key>
-      <value>True</value>
-    </param>
-    <param>
-      <key>type</key>
-      <value>float</value>
+      <value>note_0</value>
     </param>
     <param>
-      <key>const</key>
-      <value>0</value>
+      <key>note</key>
+      <value>This is the simplest hard Viterbi equalizer/hard Viterbi 
decoder</value>
     </param>
+  </block>
+  <block>
+    <key>note</key>
     <param>
       <key>alias</key>
       <value></value>
     </param>
     <param>
-      <key>affinity</key>
+      <key>comment</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
-    </param>
-    <param>
-      <key>maxoutbuf</key>
-      <value>0</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(88, 1788)</value>
+      <value>(464, 1244)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>trellis_viterbi_combined_xx</key>
     <param>
       <key>id</key>
-      <value>trellis_viterbi_combined_xx_1</value>
+      <value>note_0_0</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>note</key>
+      <value>This is a better soft-equalizer/Viterbi decoder</value>
     </param>
+  </block>
+  <block>
+    <key>note</key>
     <param>
-      <key>type</key>
-      <value>f</value>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
-      <key>out_type</key>
-      <value>b</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
-      <key>fsm_args</key>
-      <value>fsm_o</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
-      <key>block_size</key>
-      <value>interleaver.K()</value>
+      <key>_coordinate</key>
+      <value>(432, 1668)</value>
     </param>
     <param>
-      <key>init_state</key>
-      <value>-1</value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>final_state</key>
-      <value>-1</value>
+      <key>id</key>
+      <value>note_0_1</value>
     </param>
     <param>
-      <key>dim</key>
-      <value>1</value>
+      <key>note</key>
+      <value>This is the full-fledged turbo equalizer/decoder</value>
     </param>
+  </block>
+  <block>
+    <key>qtgui_number_sink</key>
     <param>
-      <key>table</key>
-      <value>0,1,2,3</value>
+      <key>autoscale</key>
+      <value>False</value>
     </param>
     <param>
-      <key>metric_type</key>
-      <value>digital.TRELLIS_HARD_SYMBOL</value>
+      <key>avg</key>
+      <value>0</value>
     </param>
     <param>
       <key>alias</key>
       <value></value>
     </param>
     <param>
-      <key>affinity</key>
+      <key>comment</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>affinity</key>
+      <value></value>
     </param>
     <param>
-      <key>maxoutbuf</key>
-      <value>0</value>
+      <key>_enabled</key>
+      <value>1</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(256, 1338)</value>
+      <value>(1080, 884)</value>
+    </param>
+    <param>
+      <key>gui_hint</key>
+      <value></value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>trellis_siso_combined_f</key>
+    <param>
+      <key>graph_type</key>
+      <value>qtgui.NUM_GRAPH_HORIZ</value>
+    </param>
     <param>
       <key>id</key>
-      <value>trellis_siso_combined_f_0</value>
+      <value>qtgui_number_sink_0</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>type</key>
+      <value>float</value>
     </param>
     <param>
-      <key>fsm_args</key>
-      <value>fsm_i</value>
+      <key>color1</key>
+      <value>("black", "black")</value>
     </param>
     <param>
-      <key>block_size</key>
-      <value>interleaver.K()</value>
+      <key>factor1</key>
+      <value>1</value>
     </param>
     <param>
-      <key>init_state</key>
-      <value>-1</value>
+      <key>label1</key>
+      <value>BER</value>
     </param>
     <param>
-      <key>final_state</key>
-      <value>-1</value>
+      <key>unit1</key>
+      <value></value>
     </param>
     <param>
-      <key>a_post_in</key>
-      <value>True</value>
+      <key>color10</key>
+      <value>("black", "black")</value>
     </param>
     <param>
-      <key>a_post_out</key>
-      <value>False</value>
+      <key>factor10</key>
+      <value>1</value>
     </param>
     <param>
-      <key>siso_type</key>
-      <value>trellis.TRELLIS_MIN_SUM</value>
+      <key>label10</key>
+      <value></value>
     </param>
     <param>
-      <key>dim</key>
-      <value>tot_mod[0]</value>
+      <key>unit10</key>
+      <value></value>
     </param>
     <param>
-      <key>table</key>
-      <value>tot_mod[1]</value>
+      <key>color2</key>
+      <value>("black", "black")</value>
     </param>
     <param>
-      <key>metric_type</key>
-      <value>trellis.TRELLIS_EUCLIDEAN</value>
+      <key>factor2</key>
+      <value>1</value>
     </param>
     <param>
-      <key>alias</key>
+      <key>label2</key>
       <value></value>
     </param>
     <param>
-      <key>affinity</key>
+      <key>unit2</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>color3</key>
+      <value>("black", "black")</value>
     </param>
     <param>
-      <key>maxoutbuf</key>
-      <value>0</value>
+      <key>factor3</key>
+      <value>1</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(280, 1765)</value>
+      <key>label3</key>
+      <value></value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>unit3</key>
+      <value></value>
     </param>
-  </block>
-  <block>
-    <key>trellis_permutation</key>
     <param>
-      <key>id</key>
-      <value>trellis_permutation_0_0_0</value>
+      <key>color4</key>
+      <value>("black", "black")</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>factor4</key>
+      <value>1</value>
     </param>
     <param>
-      <key>type</key>
-      <value>float</value>
+      <key>label4</key>
+      <value></value>
     </param>
     <param>
-      <key>interleaver_size</key>
-      <value>interleaver.K()</value>
+      <key>unit4</key>
+      <value></value>
     </param>
     <param>
-      <key>table</key>
-      <value>interleaver.DEINTER()</value>
+      <key>color5</key>
+      <value>("black", "black")</value>
     </param>
     <param>
-      <key>syms_per_block</key>
-      <value>fsm_o.O()</value>
+      <key>factor5</key>
+      <value>1</value>
     </param>
     <param>
-      <key>vlen</key>
-      <value>1</value>
+      <key>label5</key>
+      <value></value>
     </param>
     <param>
-      <key>alias</key>
+      <key>unit5</key>
       <value></value>
     </param>
     <param>
-      <key>affinity</key>
+      <key>color6</key>
+      <value>("black", "black")</value>
+    </param>
+    <param>
+      <key>factor6</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>label6</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>unit6</key>
+      <value></value>
     </param>
     <param>
-      <key>maxoutbuf</key>
-      <value>0</value>
+      <key>color7</key>
+      <value>("black", "black")</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(616, 1814)</value>
+      <key>factor7</key>
+      <value>1</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>label7</key>
+      <value></value>
     </param>
-  </block>
-  <block>
-    <key>trellis_viterbi_x</key>
     <param>
-      <key>id</key>
-      <value>trellis_viterbi_x_0</value>
+      <key>unit7</key>
+      <value></value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>color8</key>
+      <value>("black", "black")</value>
     </param>
     <param>
-      <key>type</key>
-      <value>b</value>
+      <key>factor8</key>
+      <value>1</value>
     </param>
     <param>
-      <key>fsm_args</key>
-      <value>fsm_o</value>
+      <key>label8</key>
+      <value></value>
     </param>
     <param>
-      <key>block_size</key>
-      <value>interleaver.K()</value>
+      <key>unit8</key>
+      <value></value>
     </param>
     <param>
-      <key>init_state</key>
-      <value>0</value>
+      <key>color9</key>
+      <value>("black", "black")</value>
     </param>
     <param>
-      <key>final_state</key>
-      <value>-1</value>
+      <key>factor9</key>
+      <value>1</value>
     </param>
     <param>
-      <key>alias</key>
+      <key>label9</key>
       <value></value>
     </param>
     <param>
-      <key>affinity</key>
+      <key>unit9</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>max</key>
+      <value>1</value>
     </param>
     <param>
-      <key>maxoutbuf</key>
+      <key>min</key>
       <value>0</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(288, 2023)</value>
+      <key>name</key>
+      <value>"BER (Hard)"</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>nconnections</key>
+      <value>1</value>
     </param>
-  </block>
-  <block>
-    <key>virtual_source</key>
     <param>
-      <key>id</key>
-      <value>virtual_source_0_1</value>
+      <key>update_time</key>
+      <value>0.10</value>
     </param>
+  </block>
+  <block>
+    <key>qtgui_number_sink</key>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>autoscale</key>
+      <value>False</value>
     </param>
     <param>
-      <key>stream_id</key>
-      <value>observation</value>
+      <key>avg</key>
+      <value>0</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(72, 1860)</value>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>comment</key>
+      <value></value>
     </param>
-  </block>
-  <block>
-    <key>virtual_source</key>
     <param>
-      <key>id</key>
-      <value>virtual_source_0_1_0</value>
+      <key>affinity</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
-      <value>True</value>
+      <value>1</value>
     </param>
     <param>
-      <key>stream_id</key>
-      <value>observation</value>
+      <key>_coordinate</key>
+      <value>(688, 1316)</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(88, 2564)</value>
+      <key>gui_hint</key>
+      <value></value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>blocks_unpack_k_bits_bb</key>
+    <param>
+      <key>graph_type</key>
+      <value>qtgui.NUM_GRAPH_HORIZ</value>
+    </param>
     <param>
       <key>id</key>
-      <value>blocks_unpack_k_bits_bb_0_0</value>
+      <value>qtgui_number_sink_0_0</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>type</key>
+      <value>float</value>
     </param>
     <param>
-      <key>k</key>
-      <value>bpsym</value>
+      <key>color1</key>
+      <value>("black", "black")</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>factor1</key>
+      <value>1</value>
     </param>
     <param>
-      <key>affinity</key>
-      <value></value>
+      <key>label1</key>
+      <value>BER</value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>unit1</key>
+      <value></value>
     </param>
     <param>
-      <key>maxoutbuf</key>
-      <value>0</value>
+      <key>color10</key>
+      <value>("black", "black")</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(584, 2044)</value>
+      <key>factor10</key>
+      <value>1</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>label10</key>
+      <value></value>
     </param>
-  </block>
-  <block>
-    <key>virtual_sink</key>
     <param>
-      <key>id</key>
-      <value>virtual_sink_0_1_1</value>
+      <key>unit10</key>
+      <value></value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>color2</key>
+      <value>("black", "black")</value>
     </param>
     <param>
-      <key>stream_id</key>
-      <value>estimate1</value>
+      <key>factor2</key>
+      <value>1</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(896, 2044)</value>
+      <key>label2</key>
+      <value></value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>unit2</key>
+      <value></value>
     </param>
-  </block>
-  <block>
-    <key>virtual_source</key>
     <param>
-      <key>id</key>
-      <value>virtual_source_0_0_0_0_0</value>
+      <key>color3</key>
+      <value>("black", "black")</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>factor3</key>
+      <value>1</value>
     </param>
     <param>
-      <key>stream_id</key>
-      <value>estimate1</value>
+      <key>label3</key>
+      <value></value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(144, 2284)</value>
+      <key>unit3</key>
+      <value></value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>color4</key>
+      <value>("black", "black")</value>
     </param>
-  </block>
-  <block>
-    <key>virtual_source</key>
     <param>
-      <key>id</key>
-      <value>virtual_source_0_0_1_0</value>
+      <key>factor4</key>
+      <value>1</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>label4</key>
+      <value></value>
     </param>
     <param>
-      <key>stream_id</key>
-      <value>info</value>
+      <key>unit4</key>
+      <value></value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(152, 2188)</value>
+      <key>color5</key>
+      <value>("black", "black")</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>factor5</key>
+      <value>1</value>
     </param>
-  </block>
-  <block>
-    <key>virtual_source</key>
     <param>
-      <key>id</key>
-      <value>virtual_source_0_0_1_0_0</value>
+      <key>label5</key>
+      <value></value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>unit5</key>
+      <value></value>
     </param>
     <param>
-      <key>stream_id</key>
-      <value>info</value>
+      <key>color6</key>
+      <value>("black", "black")</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(176, 2732)</value>
+      <key>factor6</key>
+      <value>1</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>label6</key>
+      <value></value>
     </param>
-  </block>
-  <block>
-    <key>virtual_source</key>
     <param>
-      <key>id</key>
-      <value>virtual_source_0_0_0_0_0_0</value>
+      <key>unit6</key>
+      <value></value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>color7</key>
+      <value>("black", "black")</value>
     </param>
     <param>
-      <key>stream_id</key>
-      <value>estimate2</value>
+      <key>factor7</key>
+      <value>1</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(168, 2828)</value>
+      <key>label7</key>
+      <value></value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>unit7</key>
+      <value></value>
     </param>
-  </block>
-  <block>
-    <key>virtual_source</key>
     <param>
-      <key>id</key>
-      <value>virtual_source_0_0_1</value>
+      <key>color8</key>
+      <value>("black", "black")</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>factor8</key>
+      <value>1</value>
     </param>
     <param>
-      <key>stream_id</key>
-      <value>info</value>
+      <key>label8</key>
+      <value></value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(80, 1556)</value>
+      <key>unit8</key>
+      <value></value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>color9</key>
+      <value>("black", "black")</value>
     </param>
-  </block>
-  <block>
-    <key>virtual_source</key>
     <param>
-      <key>id</key>
-      <value>virtual_source_0_0_0_0</value>
+      <key>factor9</key>
+      <value>1</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>label9</key>
+      <value></value>
     </param>
     <param>
-      <key>stream_id</key>
-      <value>estimate</value>
+      <key>unit9</key>
+      <value></value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(72, 1652)</value>
+      <key>max</key>
+      <value>1</value>
     </param>
     <param>
-      <key>_rotation</key>
+      <key>min</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>wxgui_numbersink2</key>
     <param>
-      <key>id</key>
-      <value>wxgui_numbersink2_3_0_0_0</value>
+      <key>name</key>
+      <value>"BER (Soft)"</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>nconnections</key>
+      <value>1</value>
     </param>
     <param>
-      <key>type</key>
-      <value>float</value>
+      <key>update_time</key>
+      <value>0.10</value>
     </param>
+  </block>
+  <block>
+    <key>qtgui_number_sink</key>
     <param>
-      <key>title</key>
-      <value>BER_hard</value>
+      <key>autoscale</key>
+      <value>False</value>
     </param>
     <param>
-      <key>units</key>
-      <value>BER</value>
+      <key>avg</key>
+      <value>0</value>
     </param>
     <param>
-      <key>samp_rate</key>
-      <value>R</value>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
-      <key>min_value</key>
-      <value>0</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
-      <key>max_value</key>
-      <value>1.0</value>
+      <key>affinity</key>
+      <value></value>
     </param>
     <param>
-      <key>factor</key>
-      <value>1.0</value>
+      <key>_enabled</key>
+      <value>1</value>
     </param>
     <param>
-      <key>decimal_places</key>
-      <value>6</value>
+      <key>_coordinate</key>
+      <value>(776, 1540)</value>
     </param>
     <param>
-      <key>ref_level</key>
-      <value>0</value>
+      <key>gui_hint</key>
+      <value></value>
     </param>
     <param>
-      <key>number_rate</key>
-      <value>15</value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>peak_hold</key>
-      <value>False</value>
+      <key>graph_type</key>
+      <value>qtgui.NUM_GRAPH_HORIZ</value>
     </param>
     <param>
-      <key>average</key>
-      <value>False</value>
+      <key>id</key>
+      <value>qtgui_number_sink_0_0_0</value>
     </param>
     <param>
-      <key>avg_alpha</key>
-      <value>0.001</value>
+      <key>type</key>
+      <value>float</value>
     </param>
     <param>
-      <key>show_gauge</key>
-      <value>False</value>
+      <key>color1</key>
+      <value>("black", "black")</value>
     </param>
     <param>
-      <key>win_size</key>
-      <value></value>
+      <key>factor1</key>
+      <value>1</value>
     </param>
     <param>
-      <key>grid_pos</key>
-      <value></value>
+      <key>label1</key>
+      <value>BER</value>
     </param>
     <param>
-      <key>notebook</key>
+      <key>unit1</key>
       <value></value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>color10</key>
+      <value>("black", "black")</value>
     </param>
     <param>
-      <key>affinity</key>
-      <value></value>
+      <key>factor10</key>
+      <value>1</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(504, 1549)</value>
+      <key>label10</key>
+      <value></value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>unit10</key>
+      <value></value>
     </param>
-  </block>
-  <block>
-    <key>wxgui_numbersink2</key>
     <param>
-      <key>id</key>
-      <value>wxgui_numbersink2_3_0_0_0_0</value>
+      <key>color2</key>
+      <value>("black", "black")</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>factor2</key>
+      <value>1</value>
     </param>
     <param>
-      <key>type</key>
-      <value>float</value>
+      <key>label2</key>
+      <value></value>
     </param>
     <param>
-      <key>title</key>
-      <value>BER_soft</value>
+      <key>unit2</key>
+      <value></value>
     </param>
     <param>
-      <key>units</key>
-      <value>BER</value>
+      <key>color3</key>
+      <value>("black", "black")</value>
     </param>
     <param>
-      <key>samp_rate</key>
-      <value>R</value>
+      <key>factor3</key>
+      <value>1</value>
     </param>
     <param>
-      <key>min_value</key>
-      <value>0</value>
+      <key>label3</key>
+      <value></value>
     </param>
     <param>
-      <key>max_value</key>
-      <value>1.0</value>
+      <key>unit3</key>
+      <value></value>
     </param>
     <param>
-      <key>factor</key>
-      <value>1.0</value>
+      <key>color4</key>
+      <value>("black", "black")</value>
     </param>
     <param>
-      <key>decimal_places</key>
-      <value>6</value>
+      <key>factor4</key>
+      <value>1</value>
     </param>
     <param>
-      <key>ref_level</key>
-      <value>0</value>
+      <key>label4</key>
+      <value></value>
     </param>
     <param>
-      <key>number_rate</key>
-      <value>15</value>
+      <key>unit4</key>
+      <value></value>
     </param>
     <param>
-      <key>peak_hold</key>
-      <value>False</value>
+      <key>color5</key>
+      <value>("black", "black")</value>
     </param>
     <param>
-      <key>average</key>
-      <value>False</value>
+      <key>factor5</key>
+      <value>1</value>
     </param>
     <param>
-      <key>avg_alpha</key>
-      <value>0.001</value>
+      <key>label5</key>
+      <value></value>
     </param>
     <param>
-      <key>show_gauge</key>
-      <value>False</value>
+      <key>unit5</key>
+      <value></value>
     </param>
     <param>
-      <key>win_size</key>
-      <value></value>
+      <key>color6</key>
+      <value>("black", "black")</value>
     </param>
     <param>
-      <key>grid_pos</key>
-      <value></value>
+      <key>factor6</key>
+      <value>1</value>
     </param>
     <param>
-      <key>notebook</key>
+      <key>label6</key>
       <value></value>
     </param>
     <param>
-      <key>alias</key>
+      <key>unit6</key>
       <value></value>
     </param>
     <param>
-      <key>affinity</key>
-      <value></value>
+      <key>color7</key>
+      <value>("black", "black")</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(576, 2181)</value>
+      <key>factor7</key>
+      <value>1</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>label7</key>
+      <value></value>
     </param>
-  </block>
-  <block>
-    <key>wxgui_numbersink2</key>
     <param>
-      <key>id</key>
-      <value>wxgui_numbersink2_3_0_0_0_0_0</value>
+      <key>unit7</key>
+      <value></value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>color8</key>
+      <value>("black", "black")</value>
     </param>
     <param>
-      <key>type</key>
-      <value>float</value>
+      <key>factor8</key>
+      <value>1</value>
     </param>
     <param>
-      <key>title</key>
-      <value>BER_turbo</value>
+      <key>label8</key>
+      <value></value>
     </param>
     <param>
-      <key>units</key>
-      <value>BER</value>
+      <key>unit8</key>
+      <value></value>
     </param>
     <param>
-      <key>samp_rate</key>
-      <value>R</value>
+      <key>color9</key>
+      <value>("black", "black")</value>
     </param>
     <param>
-      <key>min_value</key>
-      <value>0</value>
+      <key>factor9</key>
+      <value>1</value>
     </param>
     <param>
-      <key>max_value</key>
-      <value>1.0</value>
+      <key>label9</key>
+      <value></value>
     </param>
     <param>
-      <key>factor</key>
-      <value>1.0</value>
+      <key>unit9</key>
+      <value></value>
     </param>
     <param>
-      <key>decimal_places</key>
-      <value>6</value>
+      <key>max</key>
+      <value>1</value>
     </param>
     <param>
-      <key>ref_level</key>
+      <key>min</key>
       <value>0</value>
     </param>
     <param>
-      <key>number_rate</key>
-      <value>15</value>
+      <key>name</key>
+      <value>"BER (Turbo)"</value>
     </param>
     <param>
-      <key>peak_hold</key>
-      <value>False</value>
+      <key>nconnections</key>
+      <value>1</value>
     </param>
     <param>
-      <key>average</key>
-      <value>False</value>
+      <key>update_time</key>
+      <value>0.10</value>
     </param>
+  </block>
+  <block>
+    <key>trellis_encoder_xx</key>
     <param>
-      <key>avg_alpha</key>
-      <value>0.001</value>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
-      <key>show_gauge</key>
-      <value>False</value>
+      <key>blocklength</key>
+      <value>0</value>
     </param>
     <param>
-      <key>win_size</key>
-      <value></value>
+      <key>blockwise</key>
+      <value>False</value>
     </param>
     <param>
-      <key>grid_pos</key>
+      <key>comment</key>
       <value></value>
     </param>
     <param>
-      <key>notebook</key>
+      <key>affinity</key>
       <value></value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
-      <key>affinity</key>
-      <value></value>
+      <key>fsm_args</key>
+      <value>fsm_o</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(600, 2725)</value>
+      <value>(504, 316)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>trellis_sccc_decoder_combined_xx</key>
     <param>
       <key>id</key>
-      <value>trellis_sccc_decoder_combined_xx_0</value>
+      <value>trellis_encoder_xx_0</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>init_state</key>
+      <value>0</value>
     </param>
     <param>
-      <key>type</key>
-      <value>f</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>out_type</key>
-      <value>b</value>
+      <key>minoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>o_fsm_args</key>
-      <value>fsm_o</value>
+      <key>type</key>
+      <value>bb</value>
     </param>
+  </block>
+  <block>
+    <key>trellis_permutation</key>
     <param>
-      <key>o_init_state</key>
-      <value>-1</value>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
-      <key>o_final_state</key>
-      <value>-1</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
-      <key>i_fsm_args</key>
-      <value>fsm_i</value>
+      <key>affinity</key>
+      <value></value>
     </param>
     <param>
-      <key>i_init_state</key>
-      <value>-1</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
-      <key>i_final_state</key>
-      <value>-1</value>
+      <key>_coordinate</key>
+      <value>(64, 468)</value>
     </param>
     <param>
-      <key>interleaver</key>
-      <value>interleaver</value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>block_size</key>
+      <key>id</key>
+      <value>trellis_permutation_0</value>
+    </param>
+    <param>
+      <key>interleaver_size</key>
       <value>interleaver.K()</value>
     </param>
     <param>
-      <key>iterations</key>
-      <value>5</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>dim</key>
-      <value>tot_mod[0]</value>
+      <key>minoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>table</key>
-      <value>tot_mod[1]</value>
+      <key>syms_per_block</key>
+      <value>1</value>
     </param>
     <param>
-      <key>metric_type</key>
-      <value>digital.TRELLIS_EUCLIDEAN</value>
+      <key>table</key>
+      <value>interleaver.INTER()</value>
     </param>
     <param>
-      <key>siso_type</key>
-      <value>trellis.TRELLIS_MIN_SUM</value>
+      <key>type</key>
+      <value>byte</value>
     </param>
     <param>
-      <key>scaling</key>
-      <value>1.0</value>
+      <key>vlen</key>
+      <value>1</value>
     </param>
+  </block>
+  <block>
+    <key>trellis_permutation</key>
     <param>
       <key>alias</key>
       <value></value>
     </param>
     <param>
-      <key>affinity</key>
+      <key>comment</key>
       <value></value>
     </param>
     <param>
+      <key>affinity</key>
+      <value></value>
+    </param>
+    <param>
+      <key>_enabled</key>
+      <value>True</value>
+    </param>
+    <param>
+      <key>_coordinate</key>
+      <value>(432, 708)</value>
+    </param>
+    <param>
+      <key>_rotation</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>id</key>
+      <value>trellis_permutation_0_0</value>
+    </param>
+    <param>
+      <key>interleaver_size</key>
+      <value>interleaver.K()</value>
+    </param>
+    <param>
+      <key>maxoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
       <key>minoutbuf</key>
       <value>0</value>
     </param>
     <param>
-      <key>maxoutbuf</key>
-      <value>0</value>
+      <key>syms_per_block</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>table</key>
+      <value>interleaver.DEINTER()</value>
+    </param>
+    <param>
+      <key>type</key>
+      <value>byte</value>
+    </param>
+    <param>
+      <key>vlen</key>
+      <value>1</value>
+    </param>
+  </block>
+  <block>
+    <key>trellis_permutation</key>
+    <param>
+      <key>alias</key>
+      <value></value>
+    </param>
+    <param>
+      <key>comment</key>
+      <value></value>
+    </param>
+    <param>
+      <key>affinity</key>
+      <value></value>
+    </param>
+    <param>
+      <key>_enabled</key>
+      <value>True</value>
+    </param>
+    <param>
+      <key>_coordinate</key>
+      <value>(440, 1148)</value>
+    </param>
+    <param>
+      <key>_rotation</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>id</key>
+      <value>trellis_permutation_0_0_0</value>
+    </param>
+    <param>
+      <key>interleaver_size</key>
+      <value>interleaver.K()</value>
+    </param>
+    <param>
+      <key>maxoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>minoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>syms_per_block</key>
+      <value>fsm_o.O()</value>
+    </param>
+    <param>
+      <key>table</key>
+      <value>interleaver.DEINTER()</value>
+    </param>
+    <param>
+      <key>type</key>
+      <value>float</value>
+    </param>
+    <param>
+      <key>vlen</key>
+      <value>1</value>
+    </param>
+  </block>
+  <block>
+    <key>trellis_sccc_decoder_combined_xx</key>
+    <param>
+      <key>alias</key>
+      <value></value>
+    </param>
+    <param>
+      <key>block_size</key>
+      <value>interleaver.K()</value>
+    </param>
+    <param>
+      <key>comment</key>
+      <value></value>
+    </param>
+    <param>
+      <key>table</key>
+      <value>tot_mod[1]</value>
+    </param>
+    <param>
+      <key>affinity</key>
+      <value></value>
+    </param>
+    <param>
+      <key>dim</key>
+      <value>tot_mod[0]</value>
+    </param>
+    <param>
+      <key>_enabled</key>
+      <value>True</value>
+    </param>
+    <param>
+      <key>_coordinate</key>
+      <value>(200, 1480)</value>
+    </param>
+    <param>
+      <key>_rotation</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>id</key>
+      <value>trellis_sccc_decoder_combined_xx_0</value>
+    </param>
+    <param>
+      <key>i_fsm_args</key>
+      <value>fsm_i</value>
+    </param>
+    <param>
+      <key>i_final_state</key>
+      <value>-1</value>
+    </param>
+    <param>
+      <key>i_init_state</key>
+      <value>-1</value>
+    </param>
+    <param>
+      <key>type</key>
+      <value>f</value>
+    </param>
+    <param>
+      <key>interleaver</key>
+      <value>interleaver</value>
+    </param>
+    <param>
+      <key>iterations</key>
+      <value>5</value>
+    </param>
+    <param>
+      <key>maxoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>metric_type</key>
+      <value>digital.TRELLIS_EUCLIDEAN</value>
+    </param>
+    <param>
+      <key>minoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>o_fsm_args</key>
+      <value>fsm_o</value>
+    </param>
+    <param>
+      <key>o_final_state</key>
+      <value>-1</value>
+    </param>
+    <param>
+      <key>o_init_state</key>
+      <value>-1</value>
+    </param>
+    <param>
+      <key>out_type</key>
+      <value>b</value>
+    </param>
+    <param>
+      <key>siso_type</key>
+      <value>trellis.TRELLIS_MIN_SUM</value>
+    </param>
+    <param>
+      <key>scaling</key>
+      <value>1.0</value>
+    </param>
+  </block>
+  <block>
+    <key>trellis_siso_combined_f</key>
+    <param>
+      <key>a_post_in</key>
+      <value>True</value>
+    </param>
+    <param>
+      <key>a_post_out</key>
+      <value>False</value>
+    </param>
+    <param>
+      <key>alias</key>
+      <value></value>
+    </param>
+    <param>
+      <key>block_size</key>
+      <value>interleaver.K()</value>
+    </param>
+    <param>
+      <key>comment</key>
+      <value></value>
+    </param>
+    <param>
+      <key>table</key>
+      <value>tot_mod[1]</value>
+    </param>
+    <param>
+      <key>affinity</key>
+      <value></value>
+    </param>
+    <param>
+      <key>dim</key>
+      <value>tot_mod[0]</value>
+    </param>
+    <param>
+      <key>_enabled</key>
+      <value>True</value>
+    </param>
+    <param>
+      <key>fsm_args</key>
+      <value>fsm_i</value>
+    </param>
+    <param>
+      <key>final_state</key>
+      <value>-1</value>
+    </param>
+    <param>
+      <key>_coordinate</key>
+      <value>(208, 1096)</value>
+    </param>
+    <param>
+      <key>_rotation</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>id</key>
+      <value>trellis_siso_combined_f_0</value>
+    </param>
+    <param>
+      <key>init_state</key>
+      <value>-1</value>
+    </param>
+    <param>
+      <key>maxoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>metric_type</key>
+      <value>trellis.TRELLIS_EUCLIDEAN</value>
+    </param>
+    <param>
+      <key>minoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>siso_type</key>
+      <value>trellis.TRELLIS_MIN_SUM</value>
+    </param>
+  </block>
+  <block>
+    <key>trellis_viterbi_combined_xx</key>
+    <param>
+      <key>alias</key>
+      <value></value>
+    </param>
+    <param>
+      <key>block_size</key>
+      <value>interleaver.K()</value>
+    </param>
+    <param>
+      <key>comment</key>
+      <value></value>
+    </param>
+    <param>
+      <key>table</key>
+      <value>tot_mod[1]</value>
+    </param>
+    <param>
+      <key>affinity</key>
+      <value></value>
+    </param>
+    <param>
+      <key>dim</key>
+      <value>tot_mod[0]</value>
+    </param>
+    <param>
+      <key>_enabled</key>
+      <value>True</value>
+    </param>
+    <param>
+      <key>fsm_args</key>
+      <value>fsm_i</value>
+    </param>
+    <param>
+      <key>final_state</key>
+      <value>-1</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(456, 2481)</value>
+      <value>(200, 676)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>blks2_error_rate</key>
     <param>
       <key>id</key>
-      <value>blks2_error_rate_0_0_0_0</value>
+      <value>trellis_viterbi_combined_xx_0</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>init_state</key>
+      <value>-1</value>
     </param>
     <param>
       <key>type</key>
-      <value>'BER'</value>
+      <value>f</value>
     </param>
     <param>
-      <key>win_size</key>
-      <value>block_b*100</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>bits_per_symbol</key>
-      <value>1</value>
+      <key>metric_type</key>
+      <value>digital.TRELLIS_EUCLIDEAN</value>
+    </param>
+    <param>
+      <key>minoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>out_type</key>
+      <value>b</value>
     </param>
+  </block>
+  <block>
+    <key>trellis_viterbi_combined_xx</key>
     <param>
       <key>alias</key>
       <value></value>
     </param>
     <param>
+      <key>block_size</key>
+      <value>interleaver.K()</value>
+    </param>
+    <param>
+      <key>comment</key>
+      <value></value>
+    </param>
+    <param>
+      <key>table</key>
+      <value>0,1,2,3</value>
+    </param>
+    <param>
       <key>affinity</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>dim</key>
+      <value>1</value>
     </param>
     <param>
-      <key>maxoutbuf</key>
-      <value>0</value>
+      <key>_enabled</key>
+      <value>True</value>
+    </param>
+    <param>
+      <key>fsm_args</key>
+      <value>fsm_o</value>
+    </param>
+    <param>
+      <key>final_state</key>
+      <value>-1</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(408, 2766)</value>
+      <value>(192, 876)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>blks2_error_rate</key>
     <param>
       <key>id</key>
-      <value>blks2_error_rate_0_0_0</value>
+      <value>trellis_viterbi_combined_xx_1</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>init_state</key>
+      <value>-1</value>
     </param>
     <param>
       <key>type</key>
-      <value>'BER'</value>
+      <value>f</value>
     </param>
     <param>
-      <key>win_size</key>
-      <value>block_b*100</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>bits_per_symbol</key>
-      <value>1</value>
+      <key>metric_type</key>
+      <value>digital.TRELLIS_HARD_SYMBOL</value>
+    </param>
+    <param>
+      <key>minoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>out_type</key>
+      <value>b</value>
     </param>
+  </block>
+  <block>
+    <key>trellis_viterbi_x</key>
     <param>
       <key>alias</key>
       <value></value>
     </param>
     <param>
+      <key>block_size</key>
+      <value>interleaver.K()</value>
+    </param>
+    <param>
+      <key>comment</key>
+      <value></value>
+    </param>
+    <param>
       <key>affinity</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
+      <key>_enabled</key>
+      <value>True</value>
+    </param>
+    <param>
+      <key>fsm_args</key>
+      <value>fsm_o</value>
+    </param>
+    <param>
+      <key>final_state</key>
+      <value>-1</value>
+    </param>
+    <param>
+      <key>_coordinate</key>
+      <value>(664, 1140)</value>
+    </param>
+    <param>
+      <key>_rotation</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>id</key>
+      <value>trellis_viterbi_x_0</value>
+    </param>
+    <param>
+      <key>init_state</key>
       <value>0</value>
     </param>
     <param>
@@ -2290,272 +2719,341 @@
       <value>0</value>
     </param>
     <param>
+      <key>minoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>type</key>
+      <value>b</value>
+    </param>
+  </block>
+  <block>
+    <key>virtual_sink</key>
+    <param>
+      <key>comment</key>
+      <value></value>
+    </param>
+    <param>
+      <key>_enabled</key>
+      <value>True</value>
+    </param>
+    <param>
       <key>_coordinate</key>
-      <value>(384, 2230)</value>
+      <value>(872, 500)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
+    <param>
+      <key>id</key>
+      <value>virtual_sink_0</value>
+    </param>
+    <param>
+      <key>stream_id</key>
+      <value>observation</value>
+    </param>
   </block>
   <block>
-    <key>blks2_error_rate</key>
+    <key>virtual_sink</key>
     <param>
-      <key>id</key>
-      <value>blks2_error_rate_0_0</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>type</key>
-      <value>'BER'</value>
+      <key>_coordinate</key>
+      <value>(224, 372)</value>
     </param>
     <param>
-      <key>win_size</key>
-      <value>block_b*100</value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>bits_per_symbol</key>
-      <value>1</value>
+      <key>id</key>
+      <value>virtual_sink_0_0</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>stream_id</key>
+      <value>info</value>
     </param>
+  </block>
+  <block>
+    <key>virtual_sink</key>
     <param>
-      <key>affinity</key>
+      <key>comment</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
-      <key>maxoutbuf</key>
+      <key>_coordinate</key>
+      <value>(864, 324)</value>
+    </param>
+    <param>
+      <key>_rotation</key>
       <value>0</value>
     </param>
     <param>
+      <key>id</key>
+      <value>virtual_sink_0_0_0</value>
+    </param>
+    <param>
+      <key>stream_id</key>
+      <value>info_i</value>
+    </param>
+  </block>
+  <block>
+    <key>virtual_sink</key>
+    <param>
+      <key>comment</key>
+      <value></value>
+    </param>
+    <param>
+      <key>_enabled</key>
+      <value>True</value>
+    </param>
+    <param>
       <key>_coordinate</key>
-      <value>(312, 1598)</value>
+      <value>(664, 724)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
+    <param>
+      <key>id</key>
+      <value>virtual_sink_0_1_0</value>
+    </param>
+    <param>
+      <key>stream_id</key>
+      <value>estimate_i</value>
+    </param>
   </block>
   <block>
-    <key>variable_slider</key>
+    <key>virtual_sink</key>
     <param>
-      <key>id</key>
-      <value>EsN0_dB</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>label</key>
-      <value>Es/N0 (dB)</value>
+      <key>_coordinate</key>
+      <value>(1040, 1164)</value>
     </param>
     <param>
-      <key>value</key>
-      <value>13.0</value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>min</key>
-      <value>-10</value>
+      <key>id</key>
+      <value>virtual_sink_0_1_1</value>
     </param>
     <param>
-      <key>max</key>
-      <value>30</value>
+      <key>stream_id</key>
+      <value>estimate1</value>
+    </param>
+  </block>
+  <block>
+    <key>virtual_source</key>
+    <param>
+      <key>comment</key>
+      <value></value>
+    </param>
+    <param>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
-      <key>num_steps</key>
-      <value>1000</value>
+      <key>_coordinate</key>
+      <value>(0, 724)</value>
     </param>
     <param>
-      <key>style</key>
-      <value>wx.SL_HORIZONTAL</value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>converver</key>
-      <value>float_converter</value>
+      <key>id</key>
+      <value>virtual_source_0</value>
     </param>
     <param>
-      <key>grid_pos</key>
-      <value></value>
+      <key>stream_id</key>
+      <value>observation</value>
     </param>
+  </block>
+  <block>
+    <key>virtual_source</key>
     <param>
-      <key>notebook</key>
+      <key>comment</key>
       <value></value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(936, 129)</value>
+      <value>(304, 1356)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>blocks_unpack_k_bits_bb</key>
     <param>
       <key>id</key>
-      <value>blocks_unpack_k_bits_bb_0_0_0</value>
-    </param>
-    <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <value>virtual_source_0_0_0_0_0</value>
     </param>
     <param>
-      <key>k</key>
-      <value>bpsym</value>
+      <key>stream_id</key>
+      <value>estimate1</value>
     </param>
+  </block>
+  <block>
+    <key>virtual_source</key>
     <param>
-      <key>alias</key>
+      <key>comment</key>
       <value></value>
     </param>
     <param>
-      <key>affinity</key>
-      <value></value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>_coordinate</key>
+      <value>(736, 660)</value>
     </param>
     <param>
-      <key>maxoutbuf</key>
+      <key>_rotation</key>
       <value>0</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(720, 2572)</value>
+      <key>id</key>
+      <value>virtual_source_0_0_1</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>stream_id</key>
+      <value>info</value>
     </param>
   </block>
   <block>
-    <key>virtual_sink</key>
+    <key>virtual_source</key>
     <param>
-      <key>id</key>
-      <value>virtual_sink_0_1_1_0</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>stream_id</key>
-      <value>estimate2</value>
-    </param>
-    <param>
       <key>_coordinate</key>
-      <value>(920, 2572)</value>
+      <value>(344, 1300)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>note</key>
     <param>
       <key>id</key>
-      <value>note_0_1</value>
+      <value>virtual_source_0_0_1_0</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>stream_id</key>
+      <value>info</value>
     </param>
+  </block>
+  <block>
+    <key>virtual_source</key>
     <param>
-      <key>note</key>
-      <value>This is the full-fledged turbo equalizer/decoder</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(1144, 2572)</value>
+      <value>(400, 1484)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>note</key>
     <param>
       <key>id</key>
-      <value>note_0_0</value>
+      <value>virtual_source_0_0_1_0_0</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>stream_id</key>
+      <value>info</value>
     </param>
+  </block>
+  <block>
+    <key>virtual_source</key>
     <param>
-      <key>note</key>
-      <value>This is a better soft-equalizer/Viterbi decoder</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(1016, 1908)</value>
+      <value>(0, 1204)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>note</key>
     <param>
       <key>id</key>
-      <value>note_0</value>
+      <value>virtual_source_0_1</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>stream_id</key>
+      <value>observation</value>
     </param>
+  </block>
+  <block>
+    <key>virtual_source</key>
     <param>
-      <key>note</key>
-      <value>This is the simplest hard Viterbi equalizer/hard Viterbi 
decoder</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(1096, 1316)</value>
+      <value>(0, 1580)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
+    <param>
+      <key>id</key>
+      <value>virtual_source_0_1_0</value>
+    </param>
+    <param>
+      <key>stream_id</key>
+      <value>observation</value>
+    </param>
   </block>
   <connection>
-    <source_block_id>analog_random_source_x_0</source_block_id>
-    <sink_block_id>virtual_sink_0_0</sink_block_id>
-    <source_key>0</source_key>
-    <sink_key>0</sink_key>
-  </connection>
-  <connection>
-    <source_block_id>analog_random_source_x_0</source_block_id>
-    <sink_block_id>blocks_throttle_0</sink_block_id>
+    <source_block_id>analog_const_source_x_0</source_block_id>
+    <sink_block_id>trellis_siso_combined_f_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
@@ -2566,116 +3064,116 @@
     <sink_key>1</sink_key>
   </connection>
   <connection>
-    <source_block_id>blocks_add_xx_1</source_block_id>
-    <sink_block_id>virtual_sink_0</sink_block_id>
+    <source_block_id>analog_random_source_x_0</source_block_id>
+    <sink_block_id>blocks_throttle_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>digital_chunks_to_symbols_xx_0_0</source_block_id>
-    <sink_block_id>fir_filter_xxx_0</sink_block_id>
+    <source_block_id>analog_random_source_x_0</source_block_id>
+    <sink_block_id>virtual_sink_0_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>fir_filter_xxx_0</source_block_id>
-    <sink_block_id>blocks_add_xx_1</sink_block_id>
+    <source_block_id>blks2_error_rate_0_0</source_block_id>
+    <sink_block_id>qtgui_number_sink_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>blocks_throttle_0</source_block_id>
-    <sink_block_id>blocks_pack_k_bits_bb_0</sink_block_id>
+    <source_block_id>blks2_error_rate_0_0_0</source_block_id>
+    <sink_block_id>qtgui_number_sink_0_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>blocks_pack_k_bits_bb_0</source_block_id>
-    <sink_block_id>trellis_encoder_xx_0</sink_block_id>
+    <source_block_id>blks2_error_rate_0_0_0_0</source_block_id>
+    <sink_block_id>qtgui_number_sink_0_0_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>trellis_encoder_xx_0</source_block_id>
-    <sink_block_id>trellis_permutation_0</sink_block_id>
+    <source_block_id>blocks_add_xx_1</source_block_id>
+    <sink_block_id>virtual_sink_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>trellis_permutation_0</source_block_id>
-    <sink_block_id>digital_chunks_to_symbols_xx_0_0</sink_block_id>
+    <source_block_id>blocks_char_to_float_0</source_block_id>
+    <sink_block_id>trellis_viterbi_combined_xx_1</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>trellis_encoder_xx_0</source_block_id>
-    <sink_block_id>virtual_sink_0_0_0</sink_block_id>
+    <source_block_id>blocks_pack_k_bits_bb_0</source_block_id>
+    <sink_block_id>trellis_encoder_xx_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>blocks_char_to_float_0</source_block_id>
-    <sink_block_id>trellis_viterbi_combined_xx_1</sink_block_id>
+    <source_block_id>blocks_throttle_0</source_block_id>
+    <sink_block_id>blocks_pack_k_bits_bb_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>trellis_permutation_0_0</source_block_id>
-    <sink_block_id>blocks_char_to_float_0</sink_block_id>
+    <source_block_id>blocks_unpack_k_bits_bb_0</source_block_id>
+    <sink_block_id>blks2_error_rate_0_0</sink_block_id>
     <source_key>0</source_key>
-    <sink_key>0</sink_key>
+    <sink_key>1</sink_key>
   </connection>
   <connection>
-    <source_block_id>trellis_permutation_0_0</source_block_id>
-    <sink_block_id>virtual_sink_0_1_0</sink_block_id>
+    <source_block_id>blocks_unpack_k_bits_bb_0_0</source_block_id>
+    <sink_block_id>virtual_sink_0_1_1</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>blocks_unpack_k_bits_bb_0</source_block_id>
-    <sink_block_id>virtual_sink_0_1</sink_block_id>
+    <source_block_id>blocks_unpack_k_bits_bb_0_0_0</source_block_id>
+    <sink_block_id>blks2_error_rate_0_0_0_0</sink_block_id>
     <source_key>0</source_key>
-    <sink_key>0</sink_key>
+    <sink_key>1</sink_key>
   </connection>
   <connection>
-    <source_block_id>trellis_viterbi_combined_xx_1</source_block_id>
-    <sink_block_id>blocks_unpack_k_bits_bb_0</sink_block_id>
+    <source_block_id>digital_chunks_to_symbols_xx_0_0</source_block_id>
+    <sink_block_id>fir_filter_xxx_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>trellis_viterbi_combined_xx_0</source_block_id>
-    <sink_block_id>trellis_permutation_0_0</sink_block_id>
+    <source_block_id>fir_filter_xxx_0</source_block_id>
+    <sink_block_id>blocks_add_xx_1</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>virtual_source_0</source_block_id>
-    <sink_block_id>trellis_viterbi_combined_xx_0</sink_block_id>
+    <source_block_id>trellis_encoder_xx_0</source_block_id>
+    <sink_block_id>trellis_permutation_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>blocks_unpack_k_bits_bb_0_0</source_block_id>
-    <sink_block_id>virtual_sink_0_1_1</sink_block_id>
+    <source_block_id>trellis_encoder_xx_0</source_block_id>
+    <sink_block_id>virtual_sink_0_0_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>virtual_source_0_1</source_block_id>
-    <sink_block_id>trellis_siso_combined_f_0</sink_block_id>
+    <source_block_id>trellis_permutation_0</source_block_id>
+    <sink_block_id>digital_chunks_to_symbols_xx_0_0</sink_block_id>
     <source_key>0</source_key>
-    <sink_key>1</sink_key>
+    <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>analog_const_source_x_0</source_block_id>
-    <sink_block_id>trellis_siso_combined_f_0</sink_block_id>
+    <source_block_id>trellis_permutation_0_0</source_block_id>
+    <sink_block_id>blocks_char_to_float_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>trellis_siso_combined_f_0</source_block_id>
-    <sink_block_id>trellis_permutation_0_0_0</sink_block_id>
+    <source_block_id>trellis_permutation_0_0</source_block_id>
+    <sink_block_id>virtual_sink_0_1_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
@@ -2686,38 +3184,38 @@
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>trellis_viterbi_x_0</source_block_id>
-    <sink_block_id>blocks_unpack_k_bits_bb_0_0</sink_block_id>
+    <source_block_id>trellis_sccc_decoder_combined_xx_0</source_block_id>
+    <sink_block_id>blocks_unpack_k_bits_bb_0_0_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>virtual_source_0_1_0</source_block_id>
-    <sink_block_id>trellis_sccc_decoder_combined_xx_0</sink_block_id>
+    <source_block_id>trellis_siso_combined_f_0</source_block_id>
+    <sink_block_id>trellis_permutation_0_0_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>blocks_unpack_k_bits_bb_0_0_0</source_block_id>
-    <sink_block_id>virtual_sink_0_1_1_0</sink_block_id>
+    <source_block_id>trellis_viterbi_combined_xx_0</source_block_id>
+    <sink_block_id>trellis_permutation_0_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>trellis_sccc_decoder_combined_xx_0</source_block_id>
-    <sink_block_id>blocks_unpack_k_bits_bb_0_0_0</sink_block_id>
+    <source_block_id>trellis_viterbi_combined_xx_1</source_block_id>
+    <sink_block_id>blocks_unpack_k_bits_bb_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>blks2_error_rate_0_0_0</source_block_id>
-    <sink_block_id>wxgui_numbersink2_3_0_0_0_0</sink_block_id>
+    <source_block_id>trellis_viterbi_x_0</source_block_id>
+    <sink_block_id>blocks_unpack_k_bits_bb_0_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>virtual_source_0_0_1_0</source_block_id>
-    <sink_block_id>blks2_error_rate_0_0_0</sink_block_id>
+    <source_block_id>virtual_source_0</source_block_id>
+    <sink_block_id>trellis_viterbi_combined_xx_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
@@ -2728,39 +3226,33 @@
     <sink_key>1</sink_key>
   </connection>
   <connection>
-    <source_block_id>blks2_error_rate_0_0_0_0</source_block_id>
-    <sink_block_id>wxgui_numbersink2_3_0_0_0_0_0</sink_block_id>
+    <source_block_id>virtual_source_0_0_1</source_block_id>
+    <sink_block_id>blks2_error_rate_0_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>virtual_source_0_0_1_0_0</source_block_id>
-    <sink_block_id>blks2_error_rate_0_0_0_0</sink_block_id>
+    <source_block_id>virtual_source_0_0_1_0</source_block_id>
+    <sink_block_id>blks2_error_rate_0_0_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>virtual_source_0_0_0_0_0_0</source_block_id>
+    <source_block_id>virtual_source_0_0_1_0_0</source_block_id>
     <sink_block_id>blks2_error_rate_0_0_0_0</sink_block_id>
     <source_key>0</source_key>
-    <sink_key>1</sink_key>
-  </connection>
-  <connection>
-    <source_block_id>blks2_error_rate_0_0</source_block_id>
-    <sink_block_id>wxgui_numbersink2_3_0_0_0</sink_block_id>
-    <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>virtual_source_0_0_1</source_block_id>
-    <sink_block_id>blks2_error_rate_0_0</sink_block_id>
+    <source_block_id>virtual_source_0_1</source_block_id>
+    <sink_block_id>trellis_siso_combined_f_0</sink_block_id>
     <source_key>0</source_key>
-    <sink_key>0</sink_key>
+    <sink_key>1</sink_key>
   </connection>
   <connection>
-    <source_block_id>virtual_source_0_0_0_0</source_block_id>
-    <sink_block_id>blks2_error_rate_0_0</sink_block_id>
+    <source_block_id>virtual_source_0_1_0</source_block_id>
+    <sink_block_id>trellis_sccc_decoder_combined_xx_0</sink_block_id>
     <source_key>0</source_key>
-    <sink_key>1</sink_key>
+    <sink_key>0</sink_key>
   </connection>
 </flow_graph>
diff --git a/gr-trellis/examples/grc/viterbi_equalization.grc 
b/gr-trellis/examples/grc/viterbi_equalization.grc
index 2f69ead..2f50e6a 100644
--- a/gr-trellis/examples/grc/viterbi_equalization.grc
+++ b/gr-trellis/examples/grc/viterbi_equalization.grc
@@ -1,567 +1,620 @@
-<?xml version='1.0' encoding='ASCII'?>
-<?grc format='1' created='3.7.6'?>
+<?xml version='1.0' encoding='utf-8'?>
+<?grc format='1' created='3.7.11'?>
 <flow_graph>
   <timestamp>Wed Oct  1 11:04:18 2014</timestamp>
   <block>
     <key>options</key>
     <param>
-      <key>id</key>
-      <value>viterbi_equalization</value>
+      <key>author</key>
+      <value>AA</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>window_size</key>
+      <value>2048, 2048</value>
     </param>
     <param>
-      <key>title</key>
-      <value>Viterbi Equalization</value>
+      <key>category</key>
+      <value>Custom</value>
     </param>
     <param>
-      <key>author</key>
-      <value>AA</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>description</key>
       <value>gnuradio flow graph</value>
     </param>
     <param>
-      <key>window_size</key>
-      <value>2048, 2048</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
-      <key>generate_options</key>
-      <value>wx_gui</value>
+      <key>_coordinate</key>
+      <value>(0, 4)</value>
     </param>
     <param>
-      <key>category</key>
-      <value>Custom</value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>run_options</key>
-      <value>prompt</value>
+      <key>generate_options</key>
+      <value>qt_gui</value>
     </param>
     <param>
-      <key>run</key>
-      <value>True</value>
+      <key>hier_block_src_path</key>
+      <value>.:</value>
+    </param>
+    <param>
+      <key>id</key>
+      <value>viterbi_equalization</value>
     </param>
     <param>
       <key>max_nouts</key>
       <value>0</value>
     </param>
     <param>
-      <key>realtime_scheduling</key>
+      <key>qt_qss_theme</key>
       <value></value>
     </param>
     <param>
-      <key>alias</key>
+      <key>realtime_scheduling</key>
       <value></value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(10, 10)</value>
-    </param>
-    <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>run_command</key>
+      <value>{python} -u {filename}</value>
     </param>
-  </block>
-  <block>
-    <key>variable</key>
     <param>
-      <key>id</key>
-      <value>noisevar</value>
+      <key>run_options</key>
+      <value>prompt</value>
     </param>
     <param>
-      <key>_enabled</key>
+      <key>run</key>
       <value>True</value>
     </param>
     <param>
-      <key>value</key>
-      <value>10**(-EsN0_dB/10.0)  * Es   /2.0</value>
-    </param>
-    <param>
-      <key>alias</key>
+      <key>thread_safe_setters</key>
       <value></value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(872, 157)</value>
-    </param>
-    <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>title</key>
+      <value>Viterbi Equalization</value>
     </param>
   </block>
   <block>
     <key>variable</key>
     <param>
-      <key>id</key>
-      <value>bpsym</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>value</key>
-      <value>int(round(math.log(fsm.I())/math.log(2)))</value>
+      <key>_coordinate</key>
+      <value>(464, 68)</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(528, 13)</value>
+      <key>id</key>
+      <value>Es</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>value</key>
+      <value>numpy.mean((numpy.square(numpy.abs(tot_mod[1]))))</value>
     </param>
   </block>
   <block>
-    <key>variable</key>
+    <key>variable_qtgui_range</key>
     <param>
-      <key>id</key>
-      <value>channel</value>
+      <key>comment</key>
+      <value></value>
+    </param>
+    <param>
+      <key>value</key>
+      <value>2</value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>value</key>
-      <value>fu.c_channel</value>
+      <key>_coordinate</key>
+      <value>(608, 4)</value>
     </param>
     <param>
-      <key>alias</key>
+      <key>gui_hint</key>
       <value></value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(320, 85)</value>
-    </param>
-    <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>variable</key>
     <param>
       <key>id</key>
-      <value>R</value>
+      <value>EsN0_dB</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>label</key>
+      <value>Es/N0 (dB)</value>
     </param>
     <param>
-      <key>value</key>
-      <value>100e3</value>
+      <key>min_len</key>
+      <value>200</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>orient</key>
+      <value>Qt.Horizontal</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(216, 109)</value>
+      <key>start</key>
+      <value>-10</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>step</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>stop</key>
+      <value>30</value>
+    </param>
+    <param>
+      <key>rangeType</key>
+      <value>float</value>
+    </param>
+    <param>
+      <key>widget</key>
+      <value>counter_slider</value>
     </param>
   </block>
   <block>
     <key>variable</key>
     <param>
-      <key>id</key>
-      <value>block</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>value</key>
-      <value>bpsym*1000</value>
+      <key>_coordinate</key>
+      <value>(176, 68)</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(216, 21)</value>
+      <key>id</key>
+      <value>R</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>value</key>
+      <value>100e3</value>
     </param>
   </block>
   <block>
     <key>variable</key>
     <param>
-      <key>id</key>
-      <value>fsm</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>value</key>
-      <value>trellis.fsm(len(modulation[1]),len(channel))</value>
+      <key>_coordinate</key>
+      <value>(176, 4)</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(320, 157)</value>
+      <key>id</key>
+      <value>block</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>value</key>
+      <value>bpsym*1000</value>
     </param>
   </block>
   <block>
     <key>variable</key>
     <param>
-      <key>id</key>
-      <value>tot_mod</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>value</key>
-      <value>fu.make_isi_lookup(modulation,channel,False)</value>
+      <key>_coordinate</key>
+      <value>(464, 4)</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(320, 229)</value>
+      <key>id</key>
+      <value>bpsym</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>value</key>
+      <value>int(round(math.log(fsm.I())/math.log(2)))</value>
     </param>
   </block>
   <block>
     <key>variable</key>
     <param>
-      <key>id</key>
-      <value>modulation</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>value</key>
-      <value>fu.pam4</value>
+      <key>_coordinate</key>
+      <value>(272, 68)</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(320, 21)</value>
+      <key>id</key>
+      <value>channel</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>value</key>
+      <value>fu.c_channel</value>
     </param>
   </block>
   <block>
     <key>variable</key>
     <param>
-      <key>id</key>
-      <value>Es</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>value</key>
-      <value>numpy.mean((numpy.square(numpy.abs(tot_mod[1]))))</value>
+      <key>_coordinate</key>
+      <value>(272, 132)</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(568, 157)</value>
+      <key>id</key>
+      <value>fsm</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>value</key>
+      <value>trellis.fsm(len(modulation[1]),len(channel))</value>
     </param>
   </block>
   <block>
-    <key>import</key>
+    <key>variable</key>
     <param>
-      <key>id</key>
-      <value>import_0_0</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>import</key>
-      <value>import gnuradio.trellis.fsm_utils as fu</value>
+      <key>_coordinate</key>
+      <value>(272, 4)</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(24, 252)</value>
+      <key>id</key>
+      <value>modulation</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>value</key>
+      <value>fu.pam4</value>
     </param>
   </block>
   <block>
-    <key>import</key>
+    <key>variable</key>
     <param>
-      <key>id</key>
-      <value>import_0</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>import</key>
-      <value>import numpy</value>
+      <key>_coordinate</key>
+      <value>(464, 132)</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(16, 140)</value>
+      <key>id</key>
+      <value>noisevar</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>value</key>
+      <value>10**(-EsN0_dB/10.0)  * Es   /2.0</value>
     </param>
   </block>
   <block>
-    <key>import</key>
+    <key>variable</key>
     <param>
-      <key>id</key>
-      <value>import_0_1</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>import</key>
-      <value>import math</value>
+      <key>_coordinate</key>
+      <value>(272, 196)</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(24, 188)</value>
+      <key>id</key>
+      <value>tot_mod</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>value</key>
+      <value>fu.make_isi_lookup(modulation,channel,False)</value>
     </param>
   </block>
   <block>
-    <key>blks2_error_rate</key>
+    <key>analog_noise_source_x</key>
     <param>
-      <key>id</key>
-      <value>blks2_error_rate_0</value>
+      <key>amp</key>
+      <value>noisevar**0.5</value>
+    </param>
+    <param>
+      <key>alias</key>
+      <value></value>
+    </param>
+    <param>
+      <key>comment</key>
+      <value></value>
+    </param>
+    <param>
+      <key>affinity</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>type</key>
-      <value>'BER'</value>
+      <key>_coordinate</key>
+      <value>(752, 444)</value>
     </param>
     <param>
-      <key>win_size</key>
-      <value>block*100</value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>bits_per_symbol</key>
-      <value>1</value>
+      <key>id</key>
+      <value>analog_noise_source_x_0</value>
+    </param>
+    <param>
+      <key>maxoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>minoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>noise_type</key>
+      <value>analog.GR_GAUSSIAN</value>
     </param>
     <param>
+      <key>type</key>
+      <value>float</value>
+    </param>
+    <param>
+      <key>seed</key>
+      <value>-42</value>
+    </param>
+  </block>
+  <block>
+    <key>analog_random_source_x</key>
+    <param>
       <key>alias</key>
       <value></value>
     </param>
     <param>
-      <key>affinity</key>
+      <key>comment</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>affinity</key>
+      <value></value>
     </param>
     <param>
-      <key>maxoutbuf</key>
-      <value>0</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(312, 1766)</value>
+      <value>(0, 356)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>virtual_source</key>
     <param>
       <key>id</key>
-      <value>virtual_source_0_0</value>
+      <value>analog_random_source_x_0</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>stream_id</key>
-      <value>info</value>
+      <key>max</key>
+      <value>2</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(80, 1724)</value>
+      <key>minoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>_rotation</key>
+      <key>min</key>
       <value>0</value>
     </param>
+    <param>
+      <key>num_samps</key>
+      <value>1007</value>
+    </param>
+    <param>
+      <key>type</key>
+      <value>byte</value>
+    </param>
+    <param>
+      <key>repeat</key>
+      <value>True</value>
+    </param>
   </block>
   <block>
-    <key>virtual_source</key>
+    <key>blks2_error_rate</key>
     <param>
-      <key>id</key>
-      <value>virtual_source_0_0_0</value>
+      <key>bits_per_symbol</key>
+      <value>1</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
-      <key>stream_id</key>
-      <value>estimate</value>
+      <key>comment</key>
+      <value></value>
+    </param>
+    <param>
+      <key>affinity</key>
+      <value></value>
+    </param>
+    <param>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(72, 1820)</value>
+      <value>(816, 708)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>wxgui_numbersink2</key>
     <param>
       <key>id</key>
-      <value>wxgui_numbersink2_3_0_0</value>
+      <value>blks2_error_rate_0</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>type</key>
-      <value>float</value>
+      <key>minoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>title</key>
-      <value>BER</value>
+      <key>type</key>
+      <value>'BER'</value>
     </param>
     <param>
-      <key>units</key>
-      <value>BER</value>
+      <key>win_size</key>
+      <value>block*100</value>
     </param>
+  </block>
+  <block>
+    <key>blocks_add_xx</key>
     <param>
-      <key>samp_rate</key>
-      <value>R</value>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
-      <key>min_value</key>
-      <value>0</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
-      <key>max_value</key>
-      <value>1.0</value>
+      <key>affinity</key>
+      <value></value>
     </param>
     <param>
-      <key>factor</key>
-      <value>1.0</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
-      <key>decimal_places</key>
-      <value>6</value>
+      <key>_coordinate</key>
+      <value>(1048, 384)</value>
     </param>
     <param>
-      <key>ref_level</key>
+      <key>_rotation</key>
       <value>0</value>
     </param>
     <param>
-      <key>number_rate</key>
-      <value>15</value>
+      <key>id</key>
+      <value>blocks_add_xx_1</value>
     </param>
     <param>
-      <key>peak_hold</key>
-      <value>False</value>
+      <key>type</key>
+      <value>float</value>
     </param>
     <param>
-      <key>average</key>
-      <value>False</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>avg_alpha</key>
-      <value>0.001</value>
+      <key>minoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>show_gauge</key>
-      <value>False</value>
+      <key>num_inputs</key>
+      <value>2</value>
     </param>
     <param>
-      <key>win_size</key>
-      <value></value>
+      <key>vlen</key>
+      <value>1</value>
     </param>
+  </block>
+  <block>
+    <key>blocks_null_sink</key>
     <param>
-      <key>grid_pos</key>
+      <key>alias</key>
       <value></value>
     </param>
     <param>
-      <key>notebook</key>
-      <value></value>
+      <key>bus_conns</key>
+      <value>[[0,],]</value>
     </param>
     <param>
-      <key>alias</key>
+      <key>comment</key>
       <value></value>
     </param>
     <param>
@@ -569,758 +622,908 @@
       <value></value>
     </param>
     <param>
+      <key>_enabled</key>
+      <value>True</value>
+    </param>
+    <param>
       <key>_coordinate</key>
-      <value>(728, 1709)</value>
+      <value>(1208, 344)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>note</key>
     <param>
       <key>id</key>
-      <value>note_0</value>
+      <value>blocks_null_sink_1</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>type</key>
+      <value>float</value>
     </param>
     <param>
-      <key>note</key>
-      <value>Substititue the metrics/Viterbi block with Viterbi_combo</value>
+      <key>num_inputs</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>vlen</key>
+      <value>1</value>
     </param>
+  </block>
+  <block>
+    <key>blocks_pack_k_bits_bb</key>
     <param>
       <key>alias</key>
       <value></value>
     </param>
     <param>
+      <key>comment</key>
+      <value></value>
+    </param>
+    <param>
+      <key>affinity</key>
+      <value></value>
+    </param>
+    <param>
+      <key>_enabled</key>
+      <value>True</value>
+    </param>
+    <param>
       <key>_coordinate</key>
-      <value>(704, 1468)</value>
+      <value>(384, 380)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
+    <param>
+      <key>id</key>
+      <value>blocks_pack_k_bits_bb_0</value>
+    </param>
+    <param>
+      <key>k</key>
+      <value>bpsym</value>
+    </param>
+    <param>
+      <key>maxoutbuf</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>minoutbuf</key>
+      <value>0</value>
+    </param>
   </block>
   <block>
-    <key>virtual_source</key>
+    <key>blocks_throttle</key>
     <param>
-      <key>id</key>
-      <value>virtual_source_0</value>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
-      <key>stream_id</key>
-      <value>observation</value>
+      <key>affinity</key>
+      <value></value>
+    </param>
+    <param>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(40, 1236)</value>
+      <value>(208, 380)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>virtual_sink</key>
     <param>
       <key>id</key>
-      <value>virtual_sink_0_0</value>
+      <value>blocks_throttle_0</value>
     </param>
     <param>
-      <key>_enabled</key>
+      <key>ignoretag</key>
       <value>True</value>
     </param>
     <param>
-      <key>stream_id</key>
-      <value>info</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(232, 524)</value>
+      <key>minoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>samples_per_second</key>
+      <value>R</value>
+    </param>
+    <param>
+      <key>type</key>
+      <value>byte</value>
+    </param>
+    <param>
+      <key>vlen</key>
+      <value>1</value>
     </param>
   </block>
   <block>
-    <key>analog_random_source_x</key>
+    <key>blocks_unpack_k_bits_bb</key>
     <param>
-      <key>id</key>
-      <value>analog_random_source_x_0</value>
+      <key>alias</key>
+      <value></value>
+    </param>
+    <param>
+      <key>comment</key>
+      <value></value>
+    </param>
+    <param>
+      <key>affinity</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>type</key>
-      <value>byte</value>
+      <key>_coordinate</key>
+      <value>(672, 740)</value>
     </param>
     <param>
-      <key>min</key>
+      <key>_rotation</key>
       <value>0</value>
     </param>
     <param>
-      <key>max</key>
-      <value>2</value>
+      <key>id</key>
+      <value>blocks_unpack_k_bits_bb_0</value>
     </param>
     <param>
-      <key>num_samps</key>
-      <value>1007</value>
+      <key>k</key>
+      <value>bpsym</value>
     </param>
     <param>
-      <key>repeat</key>
-      <value>True</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
+      <key>minoutbuf</key>
+      <value>0</value>
+    </param>
+  </block>
+  <block>
+    <key>digital_chunks_to_symbols_xx</key>
+    <param>
       <key>alias</key>
       <value></value>
     </param>
     <param>
+      <key>comment</key>
+      <value></value>
+    </param>
+    <param>
       <key>affinity</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>dimension</key>
+      <value>tot_mod[0]</value>
     </param>
     <param>
-      <key>maxoutbuf</key>
-      <value>0</value>
+      <key>_enabled</key>
+      <value>False</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(16, 559)</value>
+      <value>(760, 244)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>blocks_null_sink</key>
     <param>
       <key>id</key>
-      <value>blocks_null_sink_1</value>
+      <value>digital_chunks_to_symbols_xx_0</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>in_type</key>
+      <value>short</value>
     </param>
     <param>
-      <key>type</key>
-      <value>float</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>vlen</key>
-      <value>1</value>
+      <key>minoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>num_inputs</key>
+      <key>num_ports</key>
       <value>1</value>
     </param>
     <param>
-      <key>bus_conns</key>
-      <value>[[0,],]</value>
+      <key>out_type</key>
+      <value>float</value>
     </param>
     <param>
+      <key>symbol_table</key>
+      <value>tot_mod[1]</value>
+    </param>
+  </block>
+  <block>
+    <key>digital_chunks_to_symbols_xx</key>
+    <param>
       <key>alias</key>
       <value></value>
     </param>
     <param>
+      <key>comment</key>
+      <value></value>
+    </param>
+    <param>
       <key>affinity</key>
       <value></value>
     </param>
     <param>
+      <key>dimension</key>
+      <value>modulation[0]</value>
+    </param>
+    <param>
+      <key>_enabled</key>
+      <value>True</value>
+    </param>
+    <param>
       <key>_coordinate</key>
-      <value>(800, 1008)</value>
+      <value>(512, 372)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>virtual_sink</key>
     <param>
       <key>id</key>
-      <value>virtual_sink_0</value>
+      <value>digital_chunks_to_symbols_xx_0_0</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>in_type</key>
+      <value>byte</value>
     </param>
     <param>
-      <key>stream_id</key>
-      <value>observation</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(608, 1076)</value>
+      <key>minoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>num_ports</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>out_type</key>
+      <value>float</value>
+    </param>
+    <param>
+      <key>symbol_table</key>
+      <value>modulation[1]</value>
     </param>
   </block>
   <block>
     <key>fir_filter_xxx</key>
     <param>
-      <key>id</key>
-      <value>fir_filter_xxx_0</value>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
-      <key>type</key>
-      <value>fff</value>
+      <key>affinity</key>
+      <value></value>
     </param>
     <param>
       <key>decim</key>
       <value>1</value>
     </param>
     <param>
-      <key>taps</key>
-      <value>fu.c_channel</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
-      <key>samp_delay</key>
+      <key>_coordinate</key>
+      <value>(712, 372)</value>
+    </param>
+    <param>
+      <key>_rotation</key>
       <value>0</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>id</key>
+      <value>fir_filter_xxx_0</value>
     </param>
     <param>
-      <key>affinity</key>
-      <value></value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
       <key>minoutbuf</key>
       <value>0</value>
     </param>
     <param>
-      <key>maxoutbuf</key>
+      <key>samp_delay</key>
       <value>0</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(904, 613)</value>
+      <key>taps</key>
+      <value>fu.c_channel</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>type</key>
+      <value>fff</value>
     </param>
   </block>
   <block>
-    <key>blocks_add_xx</key>
+    <key>import</key>
     <param>
-      <key>id</key>
-      <value>blocks_add_xx_1</value>
+      <key>alias</key>
+      <value></value>
+    </param>
+    <param>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
       <value>True</value>
     </param>
     <param>
-      <key>type</key>
-      <value>float</value>
+      <key>_coordinate</key>
+      <value>(0, 116)</value>
     </param>
     <param>
-      <key>num_inputs</key>
-      <value>2</value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>vlen</key>
-      <value>1</value>
+      <key>id</key>
+      <value>import_0</value>
+    </param>
+    <param>
+      <key>import</key>
+      <value>import numpy</value>
     </param>
+  </block>
+  <block>
+    <key>import</key>
     <param>
       <key>alias</key>
       <value></value>
     </param>
     <param>
-      <key>affinity</key>
+      <key>comment</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
-      <key>maxoutbuf</key>
+      <key>_coordinate</key>
+      <value>(0, 212)</value>
+    </param>
+    <param>
+      <key>_rotation</key>
       <value>0</value>
     </param>
     <param>
+      <key>id</key>
+      <value>import_0_0</value>
+    </param>
+    <param>
+      <key>import</key>
+      <value>import gnuradio.trellis.fsm_utils as fu</value>
+    </param>
+  </block>
+  <block>
+    <key>import</key>
+    <param>
+      <key>alias</key>
+      <value></value>
+    </param>
+    <param>
+      <key>comment</key>
+      <value></value>
+    </param>
+    <param>
+      <key>_enabled</key>
+      <value>True</value>
+    </param>
+    <param>
       <key>_coordinate</key>
-      <value>(688, 944)</value>
+      <value>(0, 164)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
+    <param>
+      <key>id</key>
+      <value>import_0_1</value>
+    </param>
+    <param>
+      <key>import</key>
+      <value>import math</value>
+    </param>
   </block>
   <block>
-    <key>digital_chunks_to_symbols_xx</key>
+    <key>note</key>
     <param>
-      <key>id</key>
-      <value>digital_chunks_to_symbols_xx_0</value>
+      <key>alias</key>
+      <value></value>
+    </param>
+    <param>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
-      <value>False</value>
+      <value>True</value>
+    </param>
+    <param>
+      <key>_coordinate</key>
+      <value>(752, 612)</value>
     </param>
     <param>
-      <key>in_type</key>
-      <value>short</value>
+      <key>_rotation</key>
+      <value>0</value>
     </param>
     <param>
-      <key>out_type</key>
-      <value>float</value>
+      <key>id</key>
+      <value>note_0</value>
     </param>
     <param>
-      <key>symbol_table</key>
-      <value>tot_mod[1]</value>
+      <key>note</key>
+      <value>Substititue the metrics/Viterbi block with Viterbi_combo</value>
     </param>
+  </block>
+  <block>
+    <key>qtgui_number_sink</key>
     <param>
-      <key>dimension</key>
-      <value>tot_mod[0]</value>
+      <key>autoscale</key>
+      <value>False</value>
     </param>
     <param>
-      <key>num_ports</key>
-      <value>1</value>
+      <key>avg</key>
+      <value>0</value>
     </param>
     <param>
       <key>alias</key>
       <value></value>
     </param>
     <param>
-      <key>affinity</key>
+      <key>comment</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>affinity</key>
+      <value></value>
     </param>
     <param>
-      <key>maxoutbuf</key>
-      <value>0</value>
+      <key>_enabled</key>
+      <value>1</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(944, 461)</value>
+      <value>(984, 700)</value>
+    </param>
+    <param>
+      <key>gui_hint</key>
+      <value></value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>analog_noise_source_x</key>
     <param>
-      <key>id</key>
-      <value>analog_noise_source_x_0</value>
+      <key>graph_type</key>
+      <value>qtgui.NUM_GRAPH_HORIZ</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>id</key>
+      <value>qtgui_number_sink_0</value>
     </param>
     <param>
       <key>type</key>
       <value>float</value>
     </param>
     <param>
-      <key>noise_type</key>
-      <value>analog.GR_GAUSSIAN</value>
+      <key>color1</key>
+      <value>("black", "black")</value>
     </param>
     <param>
-      <key>amp</key>
-      <value>noisevar**0.5</value>
+      <key>factor1</key>
+      <value>1</value>
     </param>
     <param>
-      <key>seed</key>
-      <value>-42</value>
+      <key>label1</key>
+      <value>BER</value>
     </param>
     <param>
-      <key>alias</key>
+      <key>unit1</key>
       <value></value>
     </param>
     <param>
-      <key>affinity</key>
+      <key>color10</key>
+      <value>("black", "black")</value>
+    </param>
+    <param>
+      <key>factor10</key>
+      <value>1</value>
+    </param>
+    <param>
+      <key>label10</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>unit10</key>
+      <value></value>
     </param>
     <param>
-      <key>maxoutbuf</key>
-      <value>0</value>
+      <key>color2</key>
+      <value>("black", "black")</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(288, 958)</value>
+      <key>factor2</key>
+      <value>1</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>label2</key>
+      <value></value>
     </param>
-  </block>
-  <block>
-    <key>trellis_metrics_x</key>
     <param>
-      <key>id</key>
-      <value>trellis_metrics_x_0</value>
+      <key>unit2</key>
+      <value></value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>False</value>
+      <key>color3</key>
+      <value>("black", "black")</value>
     </param>
     <param>
-      <key>type</key>
-      <value>f</value>
+      <key>factor3</key>
+      <value>1</value>
     </param>
     <param>
-      <key>card</key>
-      <value>fsm.O()</value>
+      <key>label3</key>
+      <value></value>
     </param>
     <param>
-      <key>dim</key>
-      <value>tot_mod[0]</value>
+      <key>unit3</key>
+      <value></value>
     </param>
     <param>
-      <key>table</key>
-      <value>tot_mod[1]</value>
+      <key>color4</key>
+      <value>("black", "black")</value>
     </param>
     <param>
-      <key>metric_type</key>
-      <value>digital.TRELLIS_EUCLIDEAN</value>
+      <key>factor4</key>
+      <value>1</value>
     </param>
     <param>
-      <key>alias</key>
+      <key>label4</key>
       <value></value>
     </param>
     <param>
-      <key>affinity</key>
+      <key>unit4</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>color5</key>
+      <value>("black", "black")</value>
     </param>
     <param>
-      <key>maxoutbuf</key>
-      <value>0</value>
+      <key>factor5</key>
+      <value>1</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(272, 1271)</value>
+      <key>label5</key>
+      <value></value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>unit5</key>
+      <value></value>
     </param>
-  </block>
-  <block>
-    <key>variable_slider</key>
     <param>
-      <key>id</key>
-      <value>EsN0_dB</value>
+      <key>color6</key>
+      <value>("black", "black")</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>factor6</key>
+      <value>1</value>
     </param>
     <param>
-      <key>label</key>
-      <value>Es/N0 (dB)</value>
+      <key>label6</key>
+      <value></value>
     </param>
     <param>
-      <key>value</key>
-      <value>20.0</value>
+      <key>unit6</key>
+      <value></value>
     </param>
     <param>
-      <key>min</key>
-      <value>-10</value>
+      <key>color7</key>
+      <value>("black", "black")</value>
     </param>
     <param>
-      <key>max</key>
-      <value>30</value>
+      <key>factor7</key>
+      <value>1</value>
     </param>
     <param>
-      <key>num_steps</key>
-      <value>1000</value>
+      <key>label7</key>
+      <value></value>
     </param>
     <param>
-      <key>style</key>
-      <value>wx.SL_HORIZONTAL</value>
+      <key>unit7</key>
+      <value></value>
     </param>
     <param>
-      <key>converver</key>
-      <value>float_converter</value>
+      <key>color8</key>
+      <value>("black", "black")</value>
     </param>
     <param>
-      <key>grid_pos</key>
-      <value></value>
+      <key>factor8</key>
+      <value>1</value>
     </param>
     <param>
-      <key>notebook</key>
+      <key>label8</key>
       <value></value>
     </param>
     <param>
-      <key>alias</key>
+      <key>unit8</key>
       <value></value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(728, 105)</value>
+      <key>color9</key>
+      <value>("black", "black")</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>factor9</key>
+      <value>1</value>
     </param>
-  </block>
-  <block>
-    <key>blocks_throttle</key>
     <param>
-      <key>id</key>
-      <value>blocks_throttle_0</value>
+      <key>label9</key>
+      <value></value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>unit9</key>
+      <value></value>
     </param>
     <param>
-      <key>type</key>
-      <value>byte</value>
+      <key>max</key>
+      <value>1</value>
     </param>
     <param>
-      <key>samples_per_second</key>
-      <value>R</value>
+      <key>min</key>
+      <value>0</value>
     </param>
     <param>
-      <key>vlen</key>
+      <key>name</key>
+      <value>"BER"</value>
+    </param>
+    <param>
+      <key>nconnections</key>
       <value>1</value>
     </param>
     <param>
-      <key>ignoretag</key>
-      <value>True</value>
+      <key>update_time</key>
+      <value>0.10</value>
     </param>
+  </block>
+  <block>
+    <key>trellis_encoder_xx</key>
     <param>
       <key>alias</key>
       <value></value>
     </param>
     <param>
+      <key>blocklength</key>
+      <value>0</value>
+    </param>
+    <param>
+      <key>blockwise</key>
+      <value>False</value>
+    </param>
+    <param>
+      <key>comment</key>
+      <value></value>
+    </param>
+    <param>
       <key>affinity</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>_enabled</key>
+      <value>False</value>
     </param>
     <param>
-      <key>maxoutbuf</key>
-      <value>0</value>
+      <key>fsm_args</key>
+      <value>fsm</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(240, 580)</value>
+      <value>(520, 244)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>digital_chunks_to_symbols_xx</key>
     <param>
       <key>id</key>
-      <value>digital_chunks_to_symbols_xx_0_0</value>
+      <value>trellis_encoder_xx_0</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>init_state</key>
+      <value>0</value>
     </param>
     <param>
-      <key>in_type</key>
-      <value>byte</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>out_type</key>
-      <value>float</value>
+      <key>minoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>symbol_table</key>
-      <value>modulation[1]</value>
+      <key>type</key>
+      <value>bs</value>
     </param>
+  </block>
+  <block>
+    <key>trellis_metrics_x</key>
     <param>
-      <key>dimension</key>
-      <value>modulation[0]</value>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
-      <key>num_ports</key>
-      <value>1</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>table</key>
+      <value>tot_mod[1]</value>
     </param>
     <param>
       <key>affinity</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>dim</key>
+      <value>tot_mod[0]</value>
     </param>
     <param>
-      <key>maxoutbuf</key>
-      <value>0</value>
+      <key>_enabled</key>
+      <value>False</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(672, 613)</value>
+      <value>(208, 548)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>virtual_sink</key>
     <param>
       <key>id</key>
-      <value>virtual_sink_0_1</value>
-    </param>
-    <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <value>trellis_metrics_x_0</value>
     </param>
     <param>
-      <key>stream_id</key>
-      <value>estimate</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(944, 1436)</value>
+      <key>metric_type</key>
+      <value>digital.TRELLIS_EUCLIDEAN</value>
     </param>
     <param>
-      <key>_rotation</key>
+      <key>minoutbuf</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>trellis_viterbi_x</key>
-    <param>
-      <key>id</key>
-      <value>trellis_viterbi_x_0</value>
-    </param>
     <param>
-      <key>_enabled</key>
-      <value>False</value>
+      <key>card</key>
+      <value>fsm.O()</value>
     </param>
     <param>
       <key>type</key>
-      <value>b</value>
+      <value>f</value>
     </param>
+  </block>
+  <block>
+    <key>trellis_viterbi_combined_xx</key>
     <param>
-      <key>fsm_args</key>
-      <value>fsm</value>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
       <key>block_size</key>
       <value>block/bpsym</value>
     </param>
     <param>
-      <key>init_state</key>
-      <value>-1</value>
-    </param>
-    <param>
-      <key>final_state</key>
-      <value>-1</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>table</key>
+      <value>tot_mod[1]</value>
     </param>
     <param>
       <key>affinity</key>
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>dim</key>
+      <value>tot_mod[0]</value>
     </param>
     <param>
-      <key>maxoutbuf</key>
-      <value>0</value>
+      <key>_enabled</key>
+      <value>True</value>
+    </param>
+    <param>
+      <key>fsm_args</key>
+      <value>fsm</value>
+    </param>
+    <param>
+      <key>final_state</key>
+      <value>-1</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(480, 1271)</value>
+      <value>(352, 692)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>trellis_viterbi_combined_xx</key>
     <param>
       <key>id</key>
       <value>trellis_viterbi_combined_xx_0</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>init_state</key>
+      <value>-1</value>
     </param>
     <param>
       <key>type</key>
       <value>f</value>
     </param>
     <param>
-      <key>out_type</key>
-      <value>b</value>
-    </param>
-    <param>
-      <key>fsm_args</key>
-      <value>fsm</value>
-    </param>
-    <param>
-      <key>block_size</key>
-      <value>block/bpsym</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>init_state</key>
-      <value>-1</value>
+      <key>metric_type</key>
+      <value>digital.TRELLIS_EUCLIDEAN</value>
     </param>
     <param>
-      <key>final_state</key>
-      <value>-1</value>
+      <key>minoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>dim</key>
-      <value>tot_mod[0]</value>
+      <key>out_type</key>
+      <value>b</value>
     </param>
+  </block>
+  <block>
+    <key>trellis_viterbi_x</key>
     <param>
-      <key>table</key>
-      <value>tot_mod[1]</value>
+      <key>alias</key>
+      <value></value>
     </param>
     <param>
-      <key>metric_type</key>
-      <value>digital.TRELLIS_EUCLIDEAN</value>
+      <key>block_size</key>
+      <value>block/bpsym</value>
     </param>
     <param>
-      <key>alias</key>
+      <key>comment</key>
       <value></value>
     </param>
     <param>
@@ -1328,210 +1531,217 @@
       <value></value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>_enabled</key>
+      <value>False</value>
     </param>
     <param>
-      <key>maxoutbuf</key>
-      <value>0</value>
+      <key>fsm_args</key>
+      <value>fsm</value>
+    </param>
+    <param>
+      <key>final_state</key>
+      <value>-1</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(352, 1410)</value>
+      <value>(432, 548)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>blocks_unpack_k_bits_bb</key>
     <param>
       <key>id</key>
-      <value>blocks_unpack_k_bits_bb_0</value>
+      <value>trellis_viterbi_x_0</value>
     </param>
     <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <key>init_state</key>
+      <value>-1</value>
     </param>
     <param>
-      <key>k</key>
-      <value>bpsym</value>
+      <key>maxoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>minoutbuf</key>
+      <value>0</value>
     </param>
     <param>
-      <key>affinity</key>
-      <value></value>
+      <key>type</key>
+      <value>b</value>
     </param>
+  </block>
+  <block>
+    <key>virtual_sink</key>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
-      <key>maxoutbuf</key>
-      <value>0</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(728, 1364)</value>
+      <value>(1176, 396)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
-  </block>
-  <block>
-    <key>blocks_pack_k_bits_bb</key>
     <param>
       <key>id</key>
-      <value>blocks_pack_k_bits_bb_0</value>
-    </param>
-    <param>
-      <key>_enabled</key>
-      <value>True</value>
+      <value>virtual_sink_0</value>
     </param>
     <param>
-      <key>k</key>
-      <value>bpsym</value>
+      <key>stream_id</key>
+      <value>observation</value>
     </param>
+  </block>
+  <block>
+    <key>virtual_sink</key>
     <param>
-      <key>alias</key>
+      <key>comment</key>
       <value></value>
     </param>
     <param>
-      <key>affinity</key>
-      <value></value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>_coordinate</key>
+      <value>(216, 460)</value>
     </param>
     <param>
-      <key>maxoutbuf</key>
+      <key>_rotation</key>
       <value>0</value>
     </param>
     <param>
-      <key>_coordinate</key>
-      <value>(456, 572)</value>
+      <key>id</key>
+      <value>virtual_sink_0_0</value>
     </param>
     <param>
-      <key>_rotation</key>
-      <value>0</value>
+      <key>stream_id</key>
+      <value>info</value>
     </param>
   </block>
   <block>
-    <key>trellis_encoder_xx</key>
+    <key>virtual_source</key>
     <param>
-      <key>id</key>
-      <value>trellis_encoder_xx_0</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
       <key>_enabled</key>
-      <value>False</value>
-    </param>
-    <param>
-      <key>type</key>
-      <value>bs</value>
+      <value>True</value>
     </param>
     <param>
-      <key>fsm_args</key>
-      <value>fsm</value>
+      <key>_coordinate</key>
+      <value>(0, 740)</value>
     </param>
     <param>
-      <key>init_state</key>
+      <key>_rotation</key>
       <value>0</value>
     </param>
     <param>
-      <key>alias</key>
-      <value></value>
+      <key>id</key>
+      <value>virtual_source_0</value>
     </param>
     <param>
-      <key>affinity</key>
-      <value></value>
+      <key>stream_id</key>
+      <value>observation</value>
     </param>
+  </block>
+  <block>
+    <key>virtual_source</key>
     <param>
-      <key>minoutbuf</key>
-      <value>0</value>
+      <key>comment</key>
+      <value></value>
     </param>
     <param>
-      <key>maxoutbuf</key>
-      <value>0</value>
+      <key>_enabled</key>
+      <value>True</value>
     </param>
     <param>
       <key>_coordinate</key>
-      <value>(672, 461)</value>
+      <value>(416, 460)</value>
     </param>
     <param>
       <key>_rotation</key>
       <value>0</value>
     </param>
+    <param>
+      <key>id</key>
+      <value>virtual_source_0_0</value>
+    </param>
+    <param>
+      <key>stream_id</key>
+      <value>info</value>
+    </param>
   </block>
   <connection>
-    <source_block_id>blks2_error_rate_0</source_block_id>
-    <sink_block_id>wxgui_numbersink2_3_0_0</sink_block_id>
+    <source_block_id>analog_noise_source_x_0</source_block_id>
+    <sink_block_id>blocks_add_xx_1</sink_block_id>
     <source_key>0</source_key>
-    <sink_key>0</sink_key>
+    <sink_key>1</sink_key>
   </connection>
   <connection>
-    <source_block_id>virtual_source_0_0</source_block_id>
-    <sink_block_id>blks2_error_rate_0</sink_block_id>
+    <source_block_id>analog_random_source_x_0</source_block_id>
+    <sink_block_id>blocks_throttle_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>virtual_source_0_0_0</source_block_id>
-    <sink_block_id>blks2_error_rate_0</sink_block_id>
+    <source_block_id>analog_random_source_x_0</source_block_id>
+    <sink_block_id>virtual_sink_0_0</sink_block_id>
     <source_key>0</source_key>
-    <sink_key>1</sink_key>
+    <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>virtual_source_0</source_block_id>
-    <sink_block_id>trellis_metrics_x_0</sink_block_id>
+    <source_block_id>blks2_error_rate_0</source_block_id>
+    <sink_block_id>qtgui_number_sink_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>trellis_metrics_x_0</source_block_id>
-    <sink_block_id>trellis_viterbi_x_0</sink_block_id>
+    <source_block_id>blocks_add_xx_1</source_block_id>
+    <sink_block_id>blocks_null_sink_1</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>virtual_source_0</source_block_id>
-    <sink_block_id>trellis_viterbi_combined_xx_0</sink_block_id>
+    <source_block_id>blocks_add_xx_1</source_block_id>
+    <sink_block_id>virtual_sink_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>analog_random_source_x_0</source_block_id>
-    <sink_block_id>virtual_sink_0_0</sink_block_id>
+    <source_block_id>blocks_pack_k_bits_bb_0</source_block_id>
+    <sink_block_id>digital_chunks_to_symbols_xx_0_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>analog_random_source_x_0</source_block_id>
-    <sink_block_id>blocks_throttle_0</sink_block_id>
+    <source_block_id>blocks_pack_k_bits_bb_0</source_block_id>
+    <sink_block_id>trellis_encoder_xx_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>analog_noise_source_x_0</source_block_id>
-    <sink_block_id>blocks_add_xx_1</sink_block_id>
+    <source_block_id>blocks_throttle_0</source_block_id>
+    <sink_block_id>blocks_pack_k_bits_bb_0</sink_block_id>
     <source_key>0</source_key>
-    <sink_key>1</sink_key>
+    <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>blocks_add_xx_1</source_block_id>
-    <sink_block_id>blocks_null_sink_1</sink_block_id>
+    <source_block_id>blocks_unpack_k_bits_bb_0</source_block_id>
+    <sink_block_id>blks2_error_rate_0</sink_block_id>
     <source_key>0</source_key>
-    <sink_key>0</sink_key>
+    <sink_key>1</sink_key>
   </connection>
   <connection>
-    <source_block_id>blocks_add_xx_1</source_block_id>
-    <sink_block_id>virtual_sink_0</sink_block_id>
+    <source_block_id>digital_chunks_to_symbols_xx_0</source_block_id>
+    <sink_block_id>blocks_add_xx_1</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
@@ -1548,50 +1758,44 @@
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>digital_chunks_to_symbols_xx_0</source_block_id>
-    <sink_block_id>blocks_add_xx_1</sink_block_id>
-    <source_key>0</source_key>
-    <sink_key>0</sink_key>
-  </connection>
-  <connection>
     <source_block_id>trellis_encoder_xx_0</source_block_id>
     <sink_block_id>digital_chunks_to_symbols_xx_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>blocks_throttle_0</source_block_id>
-    <sink_block_id>blocks_pack_k_bits_bb_0</sink_block_id>
+    <source_block_id>trellis_metrics_x_0</source_block_id>
+    <sink_block_id>trellis_viterbi_x_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>blocks_pack_k_bits_bb_0</source_block_id>
-    <sink_block_id>digital_chunks_to_symbols_xx_0_0</sink_block_id>
+    <source_block_id>trellis_viterbi_combined_xx_0</source_block_id>
+    <sink_block_id>blocks_unpack_k_bits_bb_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>blocks_unpack_k_bits_bb_0</source_block_id>
-    <sink_block_id>virtual_sink_0_1</sink_block_id>
+    <source_block_id>trellis_viterbi_x_0</source_block_id>
+    <sink_block_id>blocks_unpack_k_bits_bb_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>trellis_viterbi_x_0</source_block_id>
-    <sink_block_id>blocks_unpack_k_bits_bb_0</sink_block_id>
+    <source_block_id>virtual_source_0</source_block_id>
+    <sink_block_id>trellis_metrics_x_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>trellis_viterbi_combined_xx_0</source_block_id>
-    <sink_block_id>blocks_unpack_k_bits_bb_0</sink_block_id>
+    <source_block_id>virtual_source_0</source_block_id>
+    <sink_block_id>trellis_viterbi_combined_xx_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>
   <connection>
-    <source_block_id>blocks_pack_k_bits_bb_0</source_block_id>
-    <sink_block_id>trellis_encoder_xx_0</sink_block_id>
+    <source_block_id>virtual_source_0_0</source_block_id>
+    <sink_block_id>blks2_error_rate_0</sink_block_id>
     <source_key>0</source_key>
     <sink_key>0</sink_key>
   </connection>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]