summaryrefslogtreecommitdiff
path: root/gr-trellis/examples/grc/turbo_equalization.grc
diff options
context:
space:
mode:
Diffstat (limited to 'gr-trellis/examples/grc/turbo_equalization.grc')
-rw-r--r--gr-trellis/examples/grc/turbo_equalization.grc2700
1 files changed, 1596 insertions, 1104 deletions
diff --git a/gr-trellis/examples/grc/turbo_equalization.grc b/gr-trellis/examples/grc/turbo_equalization.grc
index c83c59db20..5f9f78317a 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>
+ <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,561 +750,671 @@
<value></value>
</param>
<param>
- <key>minoutbuf</key>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(584, 1548)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
<value>0</value>
</param>
<param>
+ <key>id</key>
+ <value>blks2_error_rate_0_0_0_0</value>
+ </param>
+ <param>
<key>maxoutbuf</key>
<value>0</value>
</param>
<param>
- <key>_coordinate</key>
- <value>(208, 726)</value>
+ <key>minoutbuf</key>
+ <value>0</value>
</param>
<param>
- <key>_rotation</key>
- <value>0</value>
+ <key>type</key>
+ <value>'BER'</value>
+ </param>
+ <param>
+ <key>win_size</key>
+ <value>block_b*100</value>
</param>
</block>
<block>
- <key>virtual_sink</key>
+ <key>blocks_add_xx</key>
<param>
- <key>id</key>
- <value>virtual_sink_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>info_i</value>
+ <key>affinity</key>
+ <value></value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
</param>
<param>
<key>_coordinate</key>
- <value>(968, 572)</value>
+ <value>(760, 488)</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>blocks_add_xx_1</value>
</param>
<param>
- <key>_enabled</key>
- <value>True</value>
+ <key>type</key>
+ <value>float</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>
- <value>1</value>
+ <key>num_inputs</key>
+ <value>2</value>
</param>
<param>
- <key>ignoretag</key>
- <value>True</value>
+ <key>vlen</key>
+ <value>1</value>
</param>
+ </block>
+ <block>
+ <key>blocks_char_to_float</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>(256, 580)</value>
+ <value>(48, 924)</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>
- </param>
- <param>
- <key>type</key>
- <value>byte</value>
+ <value>blocks_char_to_float_0</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>1007</value>
+ <key>scale</key>
+ <value>1</value>
</param>
<param>
- <key>repeat</key>
- <value>True</value>
+ <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>
+ <key>decim</key>
+ <value>1</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(480, 476)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
<value>0</value>
</param>
<param>
+ <key>id</key>
+ <value>fir_filter_xxx_0</value>
+ </param>
+ <param>
<key>maxoutbuf</key>
<value>0</value>
</param>
<param>
- <key>_coordinate</key>
- <value>(568, 1222)</value>
+ <key>minoutbuf</key>
+ <value>0</value>
</param>
<param>
- <key>_rotation</key>
+ <key>samp_delay</key>
<value>0</value>
</param>
+ <param>
+ <key>taps</key>
+ <value>fu.c_channel</value>
+ </param>
+ <param>
+ <key>type</key>
+ <value>fff</value>
+ </param>
</block>
<block>
- <key>trellis_viterbi_combined_xx</key>
+ <key>import</key>
<param>
- <key>id</key>
- <value>trellis_viterbi_combined_xx_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>f</value>
+ <key>_coordinate</key>
+ <value>(0, 124)</value>
</param>
<param>
- <key>out_type</key>
- <value>b</value>
+ <key>_rotation</key>
+ <value>0</value>
</param>
<param>
- <key>fsm_args</key>
- <value>fsm_i</value>
+ <key>id</key>
+ <value>import_0</value>
</param>
<param>
- <key>block_size</key>
- <value>interleaver.K()</value>
+ <key>import</key>
+ <value>import numpy</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, 220)</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_0</value>
</param>
<param>
- <key>affinity</key>
+ <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>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, 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_sink</key>
+ <key>note</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>(680, 820)</value>
</param>
<param>
<key>_rotation</key>
<value>0</value>
</param>
+ <param>
+ <key>id</key>
+ <value>note_0</value>
+ </param>
+ <param>
+ <key>note</key>
+ <value>This is the simplest hard Viterbi equalizer/hard Viterbi decoder</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>(464, 1244)</value>
</param>
<param>
<key>_rotation</key>
<value>0</value>
</param>
+ <param>
+ <key>id</key>
+ <value>note_0_0</value>
+ </param>
+ <param>
+ <key>note</key>
+ <value>This is a better soft-equalizer/Viterbi decoder</value>
+ </param>
</block>
<block>
- <key>analog_const_source_x</key>
+ <key>note</key>
<param>
- <key>id</key>
- <value>analog_const_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>(432, 1668)</value>
</param>
<param>
- <key>const</key>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ <param>
+ <key>id</key>
+ <value>note_0_1</value>
+ </param>
+ <param>
+ <key>note</key>
+ <value>This is the full-fledged turbo equalizer/decoder</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>
@@ -1298,1264 +1422,1638 @@
<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>(88, 1788)</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_viterbi_combined_xx</key>
<param>
- <key>id</key>
- <value>trellis_viterbi_combined_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>f</value>
+ <value>float</value>
</param>
<param>
- <key>out_type</key>
- <value>b</value>
+ <key>color1</key>
+ <value>("black", "black")</value>
</param>
<param>
- <key>fsm_args</key>
- <value>fsm_o</value>
+ <key>factor1</key>
+ <value>1</value>
</param>
<param>
- <key>block_size</key>
- <value>interleaver.K()</value>
+ <key>label1</key>
+ <value>BER</value>
</param>
<param>
- <key>init_state</key>
- <value>-1</value>
+ <key>unit1</key>
+ <value></value>
</param>
<param>
- <key>final_state</key>
- <value>-1</value>
+ <key>color10</key>
+ <value>("black", "black")</value>
</param>
<param>
- <key>dim</key>
+ <key>factor10</key>
<value>1</value>
</param>
<param>
- <key>table</key>
- <value>0,1,2,3</value>
+ <key>label10</key>
+ <value></value>
</param>
<param>
- <key>metric_type</key>
- <value>digital.TRELLIS_HARD_SYMBOL</value>
+ <key>unit10</key>
+ <value></value>
</param>
<param>
- <key>alias</key>
+ <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>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>(256, 1338)</value>
+ <key>label3</key>
+ <value></value>
</param>
<param>
- <key>_rotation</key>
- <value>0</value>
+ <key>unit3</key>
+ <value></value>
</param>
- </block>
- <block>
- <key>trellis_siso_combined_f</key>
<param>
- <key>id</key>
- <value>trellis_siso_combined_f_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>fsm_args</key>
- <value>fsm_i</value>
+ <key>label4</key>
+ <value></value>
</param>
<param>
- <key>block_size</key>
- <value>interleaver.K()</value>
+ <key>unit4</key>
+ <value></value>
</param>
<param>
- <key>init_state</key>
- <value>-1</value>
+ <key>color5</key>
+ <value>("black", "black")</value>
</param>
<param>
- <key>final_state</key>
- <value>-1</value>
+ <key>factor5</key>
+ <value>1</value>
</param>
<param>
- <key>a_post_in</key>
- <value>True</value>
+ <key>label5</key>
+ <value></value>
</param>
<param>
- <key>a_post_out</key>
- <value>False</value>
+ <key>unit5</key>
+ <value></value>
</param>
<param>
- <key>siso_type</key>
- <value>trellis.TRELLIS_MIN_SUM</value>
+ <key>color6</key>
+ <value>("black", "black")</value>
</param>
<param>
- <key>dim</key>
- <value>tot_mod[0]</value>
+ <key>factor6</key>
+ <value>1</value>
</param>
<param>
- <key>table</key>
- <value>tot_mod[1]</value>
+ <key>label6</key>
+ <value></value>
</param>
<param>
- <key>metric_type</key>
- <value>trellis.TRELLIS_EUCLIDEAN</value>
+ <key>unit6</key>
+ <value></value>
</param>
<param>
- <key>alias</key>
+ <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>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>(280, 1765)</value>
+ <key>label8</key>
+ <value></value>
</param>
<param>
- <key>_rotation</key>
- <value>0</value>
+ <key>unit8</key>
+ <value></value>
</param>
- </block>
- <block>
- <key>trellis_permutation</key>
<param>
- <key>id</key>
- <value>trellis_permutation_0_0_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>type</key>
- <value>float</value>
+ <key>label9</key>
+ <value></value>
</param>
<param>
- <key>interleaver_size</key>
- <value>interleaver.K()</value>
+ <key>unit9</key>
+ <value></value>
</param>
<param>
- <key>table</key>
- <value>interleaver.DEINTER()</value>
+ <key>max</key>
+ <value>1</value>
</param>
<param>
- <key>syms_per_block</key>
- <value>fsm_o.O()</value>
+ <key>min</key>
+ <value>0</value>
</param>
<param>
- <key>vlen</key>
+ <key>name</key>
+ <value>"BER (Hard)"</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>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>(616, 1814)</value>
+ <value>(688, 1316)</value>
+ </param>
+ <param>
+ <key>gui_hint</key>
+ <value></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>
+ <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_0</value>
</param>
<param>
<key>type</key>
- <value>b</value>
+ <value>float</value>
</param>
<param>
- <key>fsm_args</key>
- <value>fsm_o</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>0</value>
+ <key>label1</key>
+ <value>BER</value>
</param>
<param>
- <key>final_state</key>
- <value>-1</value>
+ <key>unit1</key>
+ <value></value>
</param>
<param>
- <key>alias</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>affinity</key>
+ <key>unit10</key>
<value></value>
</param>
<param>
- <key>minoutbuf</key>
- <value>0</value>
+ <key>color2</key>
+ <value>("black", "black")</value>
</param>
<param>
- <key>maxoutbuf</key>
- <value>0</value>
+ <key>factor2</key>
+ <value>1</value>
</param>
<param>
- <key>_coordinate</key>
- <value>(288, 2023)</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_1</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>observation</value>
+ <key>label3</key>
+ <value></value>
</param>
<param>
- <key>_coordinate</key>
- <value>(72, 1860)</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_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>observation</value>
+ <key>unit4</key>
+ <value></value>
</param>
<param>
- <key>_coordinate</key>
- <value>(88, 2564)</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>blocks_unpack_k_bits_bb</key>
<param>
- <key>id</key>
- <value>blocks_unpack_k_bits_bb_0_0</value>
+ <key>label5</key>
+ <value></value>
</param>
<param>
- <key>_enabled</key>
- <value>True</value>
+ <key>unit5</key>
+ <value></value>
</param>
<param>
- <key>k</key>
- <value>bpsym</value>
+ <key>color6</key>
+ <value>("black", "black")</value>
</param>
<param>
- <key>alias</key>
+ <key>factor6</key>
+ <value>1</value>
+ </param>
+ <param>
+ <key>label6</key>
<value></value>
</param>
<param>
- <key>affinity</key>
+ <key>unit6</key>
<value></value>
</param>
<param>
- <key>minoutbuf</key>
- <value>0</value>
+ <key>color7</key>
+ <value>("black", "black")</value>
</param>
<param>
- <key>maxoutbuf</key>
- <value>0</value>
+ <key>factor7</key>
+ <value>1</value>
</param>
<param>
- <key>_coordinate</key>
- <value>(584, 2044)</value>
+ <key>label7</key>
+ <value></value>
</param>
<param>
- <key>_rotation</key>
- <value>0</value>
+ <key>unit7</key>
+ <value></value>
</param>
- </block>
- <block>
- <key>virtual_sink</key>
<param>
- <key>id</key>
- <value>virtual_sink_0_1_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>estimate1</value>
+ <key>label8</key>
+ <value></value>
</param>
<param>
- <key>_coordinate</key>
- <value>(896, 2044)</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_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>estimate1</value>
+ <key>unit9</key>
+ <value></value>
</param>
<param>
- <key>_coordinate</key>
- <value>(144, 2284)</value>
+ <key>max</key>
+ <value>1</value>
</param>
<param>
- <key>_rotation</key>
+ <key>min</key>
<value>0</value>
</param>
+ <param>
+ <key>name</key>
+ <value>"BER (Soft)"</value>
+ </param>
+ <param>
+ <key>nconnections</key>
+ <value>1</value>
+ </param>
+ <param>
+ <key>update_time</key>
+ <value>0.10</value>
+ </param>
</block>
<block>
- <key>virtual_source</key>
+ <key>qtgui_number_sink</key>
<param>
- <key>id</key>
- <value>virtual_source_0_0_1_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>(152, 2188)</value>
+ <value>(776, 1540)</value>
+ </param>
+ <param>
+ <key>gui_hint</key>
+ <value></value>
</param>
<param>
<key>_rotation</key>
<value>0</value>
</param>
- </block>
- <block>
- <key>virtual_source</key>
+ <param>
+ <key>graph_type</key>
+ <value>qtgui.NUM_GRAPH_HORIZ</value>
+ </param>
<param>
<key>id</key>
- <value>virtual_source_0_0_1_0_0</value>
+ <value>qtgui_number_sink_0_0_0</value>
</param>
<param>
- <key>_enabled</key>
- <value>True</value>
+ <key>type</key>
+ <value>float</value>
</param>
<param>
- <key>stream_id</key>
- <value>info</value>
+ <key>color1</key>
+ <value>("black", "black")</value>
</param>
<param>
- <key>_coordinate</key>
- <value>(176, 2732)</value>
+ <key>factor1</key>
+ <value>1</value>
</param>
<param>
- <key>_rotation</key>
- <value>0</value>
+ <key>label1</key>
+ <value>BER</value>
</param>
- </block>
- <block>
- <key>virtual_source</key>
<param>
- <key>id</key>
- <value>virtual_source_0_0_0_0_0_0</value>
+ <key>unit1</key>
+ <value></value>
</param>
<param>
- <key>_enabled</key>
- <value>True</value>
+ <key>color10</key>
+ <value>("black", "black")</value>
</param>
<param>
- <key>stream_id</key>
- <value>estimate2</value>
+ <key>factor10</key>
+ <value>1</value>
</param>
<param>
- <key>_coordinate</key>
- <value>(168, 2828)</value>
+ <key>label10</key>
+ <value></value>
</param>
<param>
- <key>_rotation</key>
- <value>0</value>
+ <key>unit10</key>
+ <value></value>
</param>
- </block>
- <block>
- <key>virtual_source</key>
<param>
- <key>id</key>
- <value>virtual_source_0_0_1</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>info</value>
+ <key>label2</key>
+ <value></value>
</param>
<param>
- <key>_coordinate</key>
- <value>(80, 1556)</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>virtual_source</key>
<param>
- <key>id</key>
- <value>virtual_source_0_0_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>stream_id</key>
- <value>estimate</value>
+ <key>unit3</key>
+ <value></value>
</param>
<param>
- <key>_coordinate</key>
- <value>(72, 1652)</value>
+ <key>color4</key>
+ <value>("black", "black")</value>
</param>
<param>
- <key>_rotation</key>
- <value>0</value>
+ <key>factor4</key>
+ <value>1</value>
</param>
- </block>
- <block>
- <key>wxgui_numbersink2</key>
<param>
- <key>id</key>
- <value>wxgui_numbersink2_3_0_0_0</value>
+ <key>label4</key>
+ <value></value>
</param>
<param>
- <key>_enabled</key>
- <value>True</value>
+ <key>unit4</key>
+ <value></value>
</param>
<param>
- <key>type</key>
- <value>float</value>
+ <key>color5</key>
+ <value>("black", "black")</value>
</param>
<param>
- <key>title</key>
- <value>BER_hard</value>
+ <key>factor5</key>
+ <value>1</value>
</param>
<param>
- <key>units</key>
- <value>BER</value>
+ <key>label5</key>
+ <value></value>
</param>
<param>
- <key>samp_rate</key>
- <value>R</value>
+ <key>unit5</key>
+ <value></value>
</param>
<param>
- <key>min_value</key>
- <value>0</value>
+ <key>color6</key>
+ <value>("black", "black")</value>
</param>
<param>
- <key>max_value</key>
- <value>1.0</value>
+ <key>factor6</key>
+ <value>1</value>
</param>
<param>
- <key>factor</key>
- <value>1.0</value>
+ <key>label6</key>
+ <value></value>
</param>
<param>
- <key>decimal_places</key>
- <value>6</value>
+ <key>unit6</key>
+ <value></value>
</param>
<param>
- <key>ref_level</key>
- <value>0</value>
+ <key>color7</key>
+ <value>("black", "black")</value>
</param>
<param>
- <key>number_rate</key>
- <value>15</value>
+ <key>factor7</key>
+ <value>1</value>
</param>
<param>
- <key>peak_hold</key>
- <value>False</value>
+ <key>label7</key>
+ <value></value>
</param>
<param>
- <key>average</key>
- <value>False</value>
+ <key>unit7</key>
+ <value></value>
</param>
<param>
- <key>avg_alpha</key>
- <value>0.001</value>
+ <key>color8</key>
+ <value>("black", "black")</value>
</param>
<param>
- <key>show_gauge</key>
- <value>False</value>
+ <key>factor8</key>
+ <value>1</value>
</param>
<param>
- <key>win_size</key>
+ <key>label8</key>
<value></value>
</param>
<param>
- <key>grid_pos</key>
+ <key>unit8</key>
<value></value>
</param>
<param>
- <key>notebook</key>
+ <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 (Turbo)"</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>fsm_o</value>
+ </param>
+ <param>
<key>_coordinate</key>
- <value>(504, 1549)</value>
+ <value>(504, 316)</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_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>type</key>
- <value>float</value>
+ <key>maxoutbuf</key>
+ <value>0</value>
</param>
<param>
- <key>title</key>
- <value>BER_soft</value>
+ <key>minoutbuf</key>
+ <value>0</value>
</param>
<param>
- <key>units</key>
- <value>BER</value>
+ <key>type</key>
+ <value>bb</value>
</param>
+ </block>
+ <block>
+ <key>trellis_permutation</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>(64, 468)</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>trellis_permutation_0</value>
</param>
<param>
- <key>peak_hold</key>
- <value>False</value>
+ <key>interleaver_size</key>
+ <value>interleaver.K()</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>syms_per_block</key>
+ <value>1</value>
</param>
<param>
- <key>win_size</key>
- <value></value>
+ <key>table</key>
+ <value>interleaver.INTER()</value>
</param>
<param>
- <key>grid_pos</key>
- <value></value>
+ <key>type</key>
+ <value>byte</value>
</param>
<param>
- <key>notebook</key>
- <value></value>
+ <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>(576, 2181)</value>
+ <value>(432, 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_0_0_0</value>
+ <value>trellis_permutation_0_0</value>
</param>
<param>
- <key>_enabled</key>
- <value>True</value>
+ <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>1</value>
+ </param>
+ <param>
+ <key>table</key>
+ <value>interleaver.DEINTER()</value>
</param>
<param>
<key>type</key>
- <value>float</value>
+ <value>byte</value>
</param>
<param>
- <key>title</key>
- <value>BER_turbo</value>
+ <key>vlen</key>
+ <value>1</value>
</param>
+ </block>
+ <block>
+ <key>trellis_permutation</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>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>(440, 1148)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
</param>
<param>
- <key>decimal_places</key>
- <value>6</value>
+ <key>id</key>
+ <value>trellis_permutation_0_0_0</value>
</param>
<param>
- <key>ref_level</key>
+ <key>interleaver_size</key>
+ <value>interleaver.K()</value>
+ </param>
+ <param>
+ <key>maxoutbuf</key>
<value>0</value>
</param>
<param>
- <key>number_rate</key>
- <value>15</value>
+ <key>minoutbuf</key>
+ <value>0</value>
</param>
<param>
- <key>peak_hold</key>
- <value>False</value>
+ <key>syms_per_block</key>
+ <value>fsm_o.O()</value>
</param>
<param>
- <key>average</key>
- <value>False</value>
+ <key>table</key>
+ <value>interleaver.DEINTER()</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>vlen</key>
+ <value>1</value>
</param>
+ </block>
+ <block>
+ <key>trellis_sccc_decoder_combined_xx</key>
<param>
- <key>win_size</key>
+ <key>alias</key>
<value></value>
</param>
<param>
- <key>grid_pos</key>
- <value></value>
+ <key>block_size</key>
+ <value>interleaver.K()</value>
</param>
<param>
- <key>notebook</key>
+ <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>dim</key>
+ <value>tot_mod[0]</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
<key>_coordinate</key>
- <value>(600, 2725)</value>
+ <value>(200, 1480)</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>
+ <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>out_type</key>
- <value>b</value>
+ <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_init_state</key>
+ <key>o_final_state</key>
<value>-1</value>
</param>
<param>
- <key>o_final_state</key>
+ <key>o_init_state</key>
<value>-1</value>
</param>
<param>
- <key>i_fsm_args</key>
- <value>fsm_i</value>
+ <key>out_type</key>
+ <value>b</value>
</param>
<param>
- <key>i_init_state</key>
- <value>-1</value>
+ <key>siso_type</key>
+ <value>trellis.TRELLIS_MIN_SUM</value>
</param>
<param>
- <key>i_final_state</key>
- <value>-1</value>
+ <key>scaling</key>
+ <value>1.0</value>
</param>
+ </block>
+ <block>
+ <key>trellis_siso_combined_f</key>
<param>
- <key>interleaver</key>
- <value>interleaver</value>
+ <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>iterations</key>
- <value>5</value>
+ <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>table</key>
- <value>tot_mod[1]</value>
+ <key>_enabled</key>
+ <value>True</value>
</param>
<param>
- <key>metric_type</key>
- <value>digital.TRELLIS_EUCLIDEAN</value>
+ <key>fsm_args</key>
+ <value>fsm_i</value>
</param>
<param>
- <key>siso_type</key>
- <value>trellis.TRELLIS_MIN_SUM</value>
+ <key>final_state</key>
+ <value>-1</value>
</param>
<param>
- <key>scaling</key>
- <value>1.0</value>
+ <key>_coordinate</key>
+ <value>(208, 1096)</value>
</param>
<param>
- <key>alias</key>
- <value></value>
+ <key>_rotation</key>
+ <value>0</value>
</param>
<param>
- <key>affinity</key>
- <value></value>
+ <key>id</key>
+ <value>trellis_siso_combined_f_0</value>
</param>
<param>
- <key>minoutbuf</key>
- <value>0</value>
+ <key>init_state</key>
+ <value>-1</value>
</param>
<param>
<key>maxoutbuf</key>
<value>0</value>
</param>
<param>
- <key>_coordinate</key>
- <value>(456, 2481)</value>
+ <key>metric_type</key>
+ <value>trellis.TRELLIS_EUCLIDEAN</value>
</param>
<param>
- <key>_rotation</key>
+ <key>minoutbuf</key>
<value>0</value>
</param>
+ <param>
+ <key>siso_type</key>
+ <value>trellis.TRELLIS_MIN_SUM</value>
+ </param>
</block>
<block>
- <key>blks2_error_rate</key>
+ <key>trellis_viterbi_combined_xx</key>
<param>
- <key>id</key>
- <value>blks2_error_rate_0_0_0_0</value>
+ <key>alias</key>
+ <value></value>
</param>
<param>
- <key>_enabled</key>
- <value>True</value>
+ <key>block_size</key>
+ <value>interleaver.K()</value>
</param>
<param>
- <key>type</key>
- <value>'BER'</value>
+ <key>comment</key>
+ <value></value>
</param>
<param>
- <key>win_size</key>
- <value>block_b*100</value>
+ <key>table</key>
+ <value>tot_mod[1]</value>
</param>
<param>
- <key>bits_per_symbol</key>
- <value>1</value>
+ <key>affinity</key>
+ <value></value>
</param>
<param>
- <key>alias</key>
- <value></value>
+ <key>dim</key>
+ <value>tot_mod[0]</value>
</param>
<param>
- <key>affinity</key>
- <value></value>
+ <key>_enabled</key>
+ <value>True</value>
</param>
<param>
- <key>minoutbuf</key>
- <value>0</value>
+ <key>fsm_args</key>
+ <value>fsm_i</value>
</param>
<param>
- <key>maxoutbuf</key>
- <value>0</value>
+ <key>final_state</key>
+ <value>-1</value>
</param>
<param>
<key>_coordinate</key>
- <value>(408, 2766)</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</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>(384, 2230)</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</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>
- <value>0</value>
+ <key>_enabled</key>
+ <value>True</value>
</param>
<param>
- <key>maxoutbuf</key>
- <value>0</value>
+ <key>fsm_args</key>
+ <value>fsm_o</value>
+ </param>
+ <param>
+ <key>final_state</key>
+ <value>-1</value>
</param>
<param>
<key>_coordinate</key>
- <value>(312, 1598)</value>
+ <value>(664, 1140)</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_viterbi_x_0</value>
</param>
<param>
- <key>_enabled</key>
- <value>True</value>
+ <key>init_state</key>
+ <value>0</value>
</param>
<param>
- <key>label</key>
- <value>Es/N0 (dB)</value>
+ <key>maxoutbuf</key>
+ <value>0</value>
</param>
<param>
- <key>value</key>
- <value>13.0</value>
+ <key>minoutbuf</key>
+ <value>0</value>
</param>
<param>
- <key>min</key>
- <value>-10</value>
+ <key>type</key>
+ <value>b</value>
</param>
+ </block>
+ <block>
+ <key>virtual_sink</key>
<param>
- <key>max</key>
- <value>30</value>
+ <key>comment</key>
+ <value></value>
</param>
<param>
- <key>num_steps</key>
- <value>1000</value>
+ <key>_enabled</key>
+ <value>True</value>
</param>
<param>
- <key>style</key>
- <value>wx.SL_HORIZONTAL</value>
+ <key>_coordinate</key>
+ <value>(872, 500)</value>
</param>
<param>
- <key>converver</key>
- <value>float_converter</value>
+ <key>_rotation</key>
+ <value>0</value>
</param>
<param>
- <key>grid_pos</key>
- <value></value>
+ <key>id</key>
+ <value>virtual_sink_0</value>
</param>
<param>
- <key>notebook</key>
- <value></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>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
<key>_coordinate</key>
- <value>(936, 129)</value>
+ <value>(224, 372)</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>blocks_unpack_k_bits_bb</key>
+ <key>virtual_sink</key>
<param>
- <key>id</key>
- <value>blocks_unpack_k_bits_bb_0_0_0</value>
+ <key>comment</key>
+ <value></value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>k</key>
- <value>bpsym</value>
+ <key>_coordinate</key>
+ <value>(864, 324)</value>
</param>
<param>
- <key>alias</key>
- <value></value>
+ <key>_rotation</key>
+ <value>0</value>
</param>
<param>
- <key>affinity</key>
- <value></value>
+ <key>id</key>
+ <value>virtual_sink_0_0_0</value>
</param>
<param>
- <key>minoutbuf</key>
- <value>0</value>
+ <key>stream_id</key>
+ <value>info_i</value>
</param>
+ </block>
+ <block>
+ <key>virtual_sink</key>
<param>
- <key>maxoutbuf</key>
- <value>0</value>
+ <key>comment</key>
+ <value></value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
</param>
<param>
<key>_coordinate</key>
- <value>(720, 2572)</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>virtual_sink</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>_coordinate</key>
+ <value>(1040, 1164)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ <param>
+ <key>id</key>
+ <value>virtual_sink_0_1_1</value>
+ </param>
+ <param>
<key>stream_id</key>
- <value>estimate2</value>
+ <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>_coordinate</key>
- <value>(920, 2572)</value>
+ <value>(0, 724)</value>
</param>
<param>
<key>_rotation</key>
<value>0</value>
</param>
+ <param>
+ <key>id</key>
+ <value>virtual_source_0</value>
+ </param>
+ <param>
+ <key>stream_id</key>
+ <value>observation</value>
+ </param>
</block>
<block>
- <key>note</key>
+ <key>virtual_source</key>
<param>
- <key>id</key>
- <value>note_0_1</value>
+ <key>comment</key>
+ <value></value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>note</key>
- <value>This is the full-fledged turbo equalizer/decoder</value>
+ <key>_coordinate</key>
+ <value>(304, 1356)</value>
</param>
<param>
- <key>alias</key>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ <param>
+ <key>id</key>
+ <value>virtual_source_0_0_0_0_0</value>
+ </param>
+ <param>
+ <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>_coordinate</key>
- <value>(1144, 2572)</value>
+ <value>(736, 660)</value>
</param>
<param>
<key>_rotation</key>
<value>0</value>
</param>
+ <param>
+ <key>id</key>
+ <value>virtual_source_0_0_1</value>
+ </param>
+ <param>
+ <key>stream_id</key>
+ <value>info</value>
+ </param>
</block>
<block>
- <key>note</key>
+ <key>virtual_source</key>
<param>
- <key>id</key>
- <value>note_0_0</value>
+ <key>comment</key>
+ <value></value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>note</key>
- <value>This is a better soft-equalizer/Viterbi decoder</value>
+ <key>_coordinate</key>
+ <value>(344, 1300)</value>
</param>
<param>
- <key>alias</key>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ <param>
+ <key>id</key>
+ <value>virtual_source_0_0_1_0</value>
+ </param>
+ <param>
+ <key>stream_id</key>
+ <value>info</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>_coordinate</key>
- <value>(1016, 1908)</value>
+ <value>(400, 1484)</value>
</param>
<param>
<key>_rotation</key>
<value>0</value>
</param>
+ <param>
+ <key>id</key>
+ <value>virtual_source_0_0_1_0_0</value>
+ </param>
+ <param>
+ <key>stream_id</key>
+ <value>info</value>
+ </param>
</block>
<block>
- <key>note</key>
+ <key>virtual_source</key>
<param>
- <key>id</key>
- <value>note_0</value>
+ <key>comment</key>
+ <value></value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>note</key>
- <value>This is the simplest hard Viterbi equalizer/hard Viterbi decoder</value>
+ <key>_coordinate</key>
+ <value>(0, 1204)</value>
</param>
<param>
- <key>alias</key>
+ <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>virtual_source</key>
+ <param>
+ <key>comment</key>
<value></value>
</param>
<param>
+ <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>