<?xml version='1.0' encoding='ASCII'?> <?grc format='1' created='3.7.6'?> <flow_graph> <timestamp>Wed Oct 1 11:04:18 2014</timestamp> <block> <key>options</key> <param> <key>id</key> <value>turbo_equalization</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> <key>title</key> <value>Hard/Soft/Turbo Equalization</value> </param> <param> <key>author</key> <value>AA</value> </param> <param> <key>description</key> <value>gnuradio flow graph</value> </param> <param> <key>window_size</key> <value>2048, 3048</value> </param> <param> <key>generate_options</key> <value>wx_gui</value> </param> <param> <key>category</key> <value>Custom</value> </param> <param> <key>run_options</key> <value>prompt</value> </param> <param> <key>run</key> <value>True</value> </param> <param> <key>max_nouts</key> <value>0</value> </param> <param> <key>realtime_scheduling</key> <value></value> </param> <param> <key>alias</key> <value></value> </param> <param> <key>_coordinate</key> <value>(10, 10)</value> </param> <param> <key>_rotation</key> <value>0</value> </param> </block> <block> <key>variable</key> <param> <key>id</key> <value>fsm_o</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> <key>value</key> <value>trellis.fsm(prefix+"/awgn1o2_4.fsm")</value> </param> <param> <key>alias</key> <value></value> </param> <param> <key>_coordinate</key> <value>(344, 21)</value> </param> <param> <key>_rotation</key> <value>0</value> </param> </block> <block> <key>variable</key> <param> <key>id</key> <value>block_b</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> <key>value</key> <value>bpsym*1000</value> </param> <param> <key>alias</key> <value></value> </param> <param> <key>_coordinate</key> <value>(216, 21)</value> </param> <param> <key>_rotation</key> <value>0</value> </param> </block> <block> <key>variable</key> <param> <key>id</key> <value>interleaver</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> <key>value</key> <value>trellis.interleaver(block_b/bpsym,666)</value> </param> <param> <key>alias</key> <value></value> </param> <param> <key>_coordinate</key> <value>(528, 117)</value> </param> <param> <key>_rotation</key> <value>0</value> </param> </block> <block> <key>variable</key> <param> <key>id</key> <value>Es</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> </param> <param> <key>alias</key> <value></value> </param> <param> <key>_coordinate</key> <value>(776, 181)</value> </param> <param> <key>_rotation</key> <value>0</value> </param> </block> <block> <key>variable</key> <param> <key>id</key> <value>noisevar</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>(1080, 181)</value> </param> <param> <key>_rotation</key> <value>0</value> </param> </block> <block> <key>variable</key> <param> <key>id</key> <value>bpsym</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> </param> <param> <key>alias</key> <value></value> </param> <param> <key>_coordinate</key> <value>(528, 29)</value> </param> <param> <key>_rotation</key> <value>0</value> </param> </block> <block> <key>variable</key> <param> <key>id</key> <value>channel</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> <key>value</key> <value>fu.c_channel</value> </param> <param> <key>alias</key> <value></value> </param> <param> <key>_coordinate</key> <value>(320, 205)</value> </param> <param> <key>_rotation</key> <value>0</value> </param> </block> <block> <key>variable</key> <param> <key>id</key> <value>modulation</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> <key>value</key> <value>fu.pam4</value> </param> <param> <key>alias</key> <value></value> </param> <param> <key>_coordinate</key> <value>(320, 117)</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> </param> <param> <key>value</key> <value>100e3</value> </param> <param> <key>alias</key> <value></value> </param> <param> <key>_coordinate</key> <value>(216, 109)</value> </param> <param> <key>_rotation</key> <value>0</value> </param> </block> <block> <key>variable</key> <param> <key>id</key> <value>tot_mod</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> <key>value</key> <value>fu.make_isi_lookup(modulation,channel,False)</value> </param> <param> <key>alias</key> <value></value> </param> <param> <key>_coordinate</key> <value>(320, 381)</value> </param> <param> <key>_rotation</key> <value>0</value> </param> </block> <block> <key>variable</key> <param> <key>id</key> <value>prefix</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> <key>value</key> <value>"@FSM_FILE_INSTALL_DIR@"</value> </param> <param> <key>alias</key> <value></value> </param> <param> <key>_coordinate</key> <value>(768, 21)</value> </param> <param> <key>_rotation</key> <value>0</value> </param> </block> <block> <key>variable</key> <param> <key>id</key> <value>fsm_i</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> </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> </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>(24, 252)</value> </param> <param> <key>_rotation</key> <value>0</value> </param> </block> <block> <key>import</key> <param> <key>id</key> <value>import_0</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> <key>import</key> <value>import numpy</value> </param> <param> <key>alias</key> <value></value> </param> <param> <key>_coordinate</key> <value>(16, 140)</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> </param> <param> <key>import</key> <value>import math</value> </param> <param> <key>alias</key> <value></value> </param> <param> <key>_coordinate</key> <value>(24, 188)</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> </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> </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> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> <key>type</key> <value>float</value> </param> <param> <key>num_inputs</key> <value>2</value> </param> <param> <key>vlen</key> <value>1</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> </param> <param> <key>_coordinate</key> <value>(688, 944)</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> </param> <param> <key>type</key> <value>float</value> </param> <param> <key>noise_type</key> <value>analog.GR_GAUSSIAN</value> </param> <param> <key>amp</key> <value>noisevar**0.5</value> </param> <param> <key>seed</key> <value>-42</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> </param> <param> <key>_coordinate</key> <value>(288, 958)</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> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> <key>type</key> <value>fff</value> </param> <param> <key>decim</key> <value>1</value> </param> <param> <key>taps</key> <value>fu.c_channel</value> </param> <param> <key>samp_delay</key> <value>0</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> </param> <param> <key>_coordinate</key> <value>(448, 861)</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> </param> <param> <key>in_type</key> <value>byte</value> </param> <param> <key>out_type</key> <value>float</value> </param> <param> <key>symbol_table</key> <value>modulation[1]</value> </param> <param> <key>dimension</key> <value>modulation[0]</value> </param> <param> <key>num_ports</key> <value>1</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> </param> <param> <key>_coordinate</key> <value>(480, 733)</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> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> <key>type</key> <value>byte</value> </param> <param> <key>interleaver_size</key> <value>interleaver.K()</value> </param> <param> <key>table</key> <value>interleaver.INTER()</value> </param> <param> <key>syms_per_block</key> <value>1</value> </param> <param> <key>vlen</key> <value>1</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> </param> <param> <key>_coordinate</key> <value>(208, 726)</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> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> <key>stream_id</key> <value>info_i</value> </param> <param> <key>_coordinate</key> <value>(968, 572)</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> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> <key>type</key> <value>byte</value> </param> <param> <key>samples_per_second</key> <value>R</value> </param> <param> <key>vlen</key> <value>1</value> </param> <param> <key>ignoretag</key> <value>True</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> </param> <param> <key>_coordinate</key> <value>(256, 580)</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> </param> <param> <key>min</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> </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> </param> <param> <key>_coordinate</key> <value>(16, 559)</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>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> </param> <param> <key>_coordinate</key> <value>(440, 580)</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> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> <key>type</key> <value>bb</value> </param> <param> <key>fsm_args</key> <value>fsm_o</value> </param> <param> <key>init_state</key> <value>0</value> </param> <param> <key>blockwise</key> <value>False</value> </param> <param> <key>blocklength</key> <value>0</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> </param> <param> <key>_coordinate</key> <value>(672, 573)</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> </param> <param> <key>stream_id</key> <value>info</value> </param> <param> <key>_coordinate</key> <value>(248, 524)</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> </param> <param> <key>_coordinate</key> <value>(864, 1380)</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> </param> <param> <key>k</key> <value>bpsym</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> </param> <param> <key>_coordinate</key> <value>(552, 1380)</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> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> <key>vlen</key> <value>1</value> </param> <param> <key>scale</key> <value>1</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> </param> <param> <key>_coordinate</key> <value>(72, 1380)</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> </param> <param> <key>type</key> <value>byte</value> </param> <param> <key>interleaver_size</key> <value>interleaver.K()</value> </param> <param> <key>table</key> <value>interleaver.DEINTER()</value> </param> <param> <key>syms_per_block</key> <value>1</value> </param> <param> <key>vlen</key> <value>1</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> </param> <param> <key>_coordinate</key> <value>(568, 1222)</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> </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_i</value> </param> <param> <key>block_size</key> <value>interleaver.K()</value> </param> <param> <key>init_state</key> <value>-1</value> </param> <param> <key>final_state</key> <value>-1</value> </param> <param> <key>dim</key> <value>tot_mod[0]</value> </param> <param> <key>table</key> <value>tot_mod[1]</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> </param> <param> <key>_coordinate</key> <value>(288, 1194)</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_0</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> <key>stream_id</key> <value>estimate_i</value> </param> <param> <key>_coordinate</key> <value>(896, 1228)</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> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> <key>stream_id</key> <value>observation</value> </param> <param> <key>_coordinate</key> <value>(40, 1236)</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> </param> <param> <key>const</key> <value>0</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> </param> <param> <key>_coordinate</key> <value>(88, 1788)</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> </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> </param> <param> <key>fsm_args</key> <value>fsm_o</value> </param> <param> <key>block_size</key> <value>interleaver.K()</value> </param> <param> <key>init_state</key> <value>-1</value> </param> <param> <key>final_state</key> <value>-1</value> </param> <param> <key>dim</key> <value>1</value> </param> <param> <key>table</key> <value>0,1,2,3</value> </param> <param> <key>metric_type</key> <value>digital.TRELLIS_HARD_SYMBOL</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> </param> <param> <key>_coordinate</key> <value>(256, 1338)</value> </param> <param> <key>_rotation</key> <value>0</value> </param> </block> <block> <key>trellis_siso_combined_f</key> <param> <key>id</key> <value>trellis_siso_combined_f_0</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> <key>fsm_args</key> <value>fsm_i</value> </param> <param> <key>block_size</key> <value>interleaver.K()</value> </param> <param> <key>init_state</key> <value>-1</value> </param> <param> <key>final_state</key> <value>-1</value> </param> <param> <key>a_post_in</key> <value>True</value> </param> <param> <key>a_post_out</key> <value>False</value> </param> <param> <key>siso_type</key> <value>trellis.TRELLIS_MIN_SUM</value> </param> <param> <key>dim</key> <value>tot_mod[0]</value> </param> <param> <key>table</key> <value>tot_mod[1]</value> </param> <param> <key>metric_type</key> <value>trellis.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> </param> <param> <key>_coordinate</key> <value>(280, 1765)</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_0</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> <key>type</key> <value>float</value> </param> <param> <key>interleaver_size</key> <value>interleaver.K()</value> </param> <param> <key>table</key> <value>interleaver.DEINTER()</value> </param> <param> <key>syms_per_block</key> <value>fsm_o.O()</value> </param> <param> <key>vlen</key> <value>1</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> </param> <param> <key>_coordinate</key> <value>(616, 1814)</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>True</value> </param> <param> <key>type</key> <value>b</value> </param> <param> <key>fsm_args</key> <value>fsm_o</value> </param> <param> <key>block_size</key> <value>interleaver.K()</value> </param> <param> <key>init_state</key> <value>0</value> </param> <param> <key>final_state</key> <value>-1</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> </param> <param> <key>_coordinate</key> <value>(288, 2023)</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</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> <key>stream_id</key> <value>observation</value> </param> <param> <key>_coordinate</key> <value>(72, 1860)</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_0</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> <key>stream_id</key> <value>observation</value> </param> <param> <key>_coordinate</key> <value>(88, 2564)</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</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> <key>k</key> <value>bpsym</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> </param> <param> <key>_coordinate</key> <value>(584, 2044)</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_1</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> <key>stream_id</key> <value>estimate1</value> </param> <param> <key>_coordinate</key> <value>(896, 2044)</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_0_0_0</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> <key>stream_id</key> <value>estimate1</value> </param> <param> <key>_coordinate</key> <value>(144, 2284)</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_1_0</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> <key>stream_id</key> <value>info</value> </param> <param> <key>_coordinate</key> <value>(152, 2188)</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_1_0_0</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> <key>stream_id</key> <value>info</value> </param> <param> <key>_coordinate</key> <value>(176, 2732)</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_0_0_0_0</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> <key>stream_id</key> <value>estimate2</value> </param> <param> <key>_coordinate</key> <value>(168, 2828)</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_1</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> <key>stream_id</key> <value>info</value> </param> <param> <key>_coordinate</key> <value>(80, 1556)</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_0_0</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> <key>stream_id</key> <value>estimate</value> </param> <param> <key>_coordinate</key> <value>(72, 1652)</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</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> <key>type</key> <value>float</value> </param> <param> <key>title</key> <value>BER_hard</value> </param> <param> <key>units</key> <value>BER</value> </param> <param> <key>samp_rate</key> <value>R</value> </param> <param> <key>min_value</key> <value>0</value> </param> <param> <key>max_value</key> <value>1.0</value> </param> <param> <key>factor</key> <value>1.0</value> </param> <param> <key>decimal_places</key> <value>6</value> </param> <param> <key>ref_level</key> <value>0</value> </param> <param> <key>number_rate</key> <value>15</value> </param> <param> <key>peak_hold</key> <value>False</value> </param> <param> <key>average</key> <value>False</value> </param> <param> <key>avg_alpha</key> <value>0.001</value> </param> <param> <key>show_gauge</key> <value>False</value> </param> <param> <key>win_size</key> <value></value> </param> <param> <key>grid_pos</key> <value></value> </param> <param> <key>notebook</key> <value></value> </param> <param> <key>alias</key> <value></value> </param> <param> <key>affinity</key> <value></value> </param> <param> <key>_coordinate</key> <value>(504, 1549)</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> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> <key>type</key> <value>float</value> </param> <param> <key>title</key> <value>BER_soft</value> </param> <param> <key>units</key> <value>BER</value> </param> <param> <key>samp_rate</key> <value>R</value> </param> <param> <key>min_value</key> <value>0</value> </param> <param> <key>max_value</key> <value>1.0</value> </param> <param> <key>factor</key> <value>1.0</value> </param> <param> <key>decimal_places</key> <value>6</value> </param> <param> <key>ref_level</key> <value>0</value> </param> <param> <key>number_rate</key> <value>15</value> </param> <param> <key>peak_hold</key> <value>False</value> </param> <param> <key>average</key> <value>False</value> </param> <param> <key>avg_alpha</key> <value>0.001</value> </param> <param> <key>show_gauge</key> <value>False</value> </param> <param> <key>win_size</key> <value></value> </param> <param> <key>grid_pos</key> <value></value> </param> <param> <key>notebook</key> <value></value> </param> <param> <key>alias</key> <value></value> </param> <param> <key>affinity</key> <value></value> </param> <param> <key>_coordinate</key> <value>(576, 2181)</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> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> <key>type</key> <value>float</value> </param> <param> <key>title</key> <value>BER_turbo</value> </param> <param> <key>units</key> <value>BER</value> </param> <param> <key>samp_rate</key> <value>R</value> </param> <param> <key>min_value</key> <value>0</value> </param> <param> <key>max_value</key> <value>1.0</value> </param> <param> <key>factor</key> <value>1.0</value> </param> <param> <key>decimal_places</key> <value>6</value> </param> <param> <key>ref_level</key> <value>0</value> </param> <param> <key>number_rate</key> <value>15</value> </param> <param> <key>peak_hold</key> <value>False</value> </param> <param> <key>average</key> <value>False</value> </param> <param> <key>avg_alpha</key> <value>0.001</value> </param> <param> <key>show_gauge</key> <value>False</value> </param> <param> <key>win_size</key> <value></value> </param> <param> <key>grid_pos</key> <value></value> </param> <param> <key>notebook</key> <value></value> </param> <param> <key>alias</key> <value></value> </param> <param> <key>affinity</key> <value></value> </param> <param> <key>_coordinate</key> <value>(600, 2725)</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> </param> <param> <key>o_fsm_args</key> <value>fsm_o</value> </param> <param> <key>o_init_state</key> <value>-1</value> </param> <param> <key>o_final_state</key> <value>-1</value> </param> <param> <key>i_fsm_args</key> <value>fsm_i</value> </param> <param> <key>i_init_state</key> <value>-1</value> </param> <param> <key>i_final_state</key> <value>-1</value> </param> <param> <key>interleaver</key> <value>interleaver</value> </param> <param> <key>block_size</key> <value>interleaver.K()</value> </param> <param> <key>iterations</key> <value>5</value> </param> <param> <key>dim</key> <value>tot_mod[0]</value> </param> <param> <key>table</key> <value>tot_mod[1]</value> </param> <param> <key>metric_type</key> <value>digital.TRELLIS_EUCLIDEAN</value> </param> <param> <key>siso_type</key> <value>trellis.TRELLIS_MIN_SUM</value> </param> <param> <key>scaling</key> <value>1.0</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> </param> <param> <key>_coordinate</key> <value>(456, 2481)</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> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> <key>type</key> <value>'BER'</value> </param> <param> <key>win_size</key> <value>block_b*100</value> </param> <param> <key>bits_per_symbol</key> <value>1</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> </param> <param> <key>_coordinate</key> <value>(408, 2766)</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> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> <key>type</key> <value>'BER'</value> </param> <param> <key>win_size</key> <value>block_b*100</value> </param> <param> <key>bits_per_symbol</key> <value>1</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> </param> <param> <key>_coordinate</key> <value>(384, 2230)</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> </param> <param> <key>type</key> <value>'BER'</value> </param> <param> <key>win_size</key> <value>block_b*100</value> </param> <param> <key>bits_per_symbol</key> <value>1</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> </param> <param> <key>_coordinate</key> <value>(312, 1598)</value> </param> <param> <key>_rotation</key> <value>0</value> </param> </block> <block> <key>variable_slider</key> <param> <key>id</key> <value>EsN0_dB</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> <key>label</key> <value>Es/N0 (dB)</value> </param> <param> <key>value</key> <value>13.0</value> </param> <param> <key>min</key> <value>-10</value> </param> <param> <key>max</key> <value>30</value> </param> <param> <key>num_steps</key> <value>1000</value> </param> <param> <key>style</key> <value>wx.SL_HORIZONTAL</value> </param> <param> <key>converver</key> <value>float_converter</value> </param> <param> <key>grid_pos</key> <value></value> </param> <param> <key>notebook</key> <value></value> </param> <param> <key>alias</key> <value></value> </param> <param> <key>_coordinate</key> <value>(936, 129)</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> </param> <param> <key>k</key> <value>bpsym</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> </param> <param> <key>_coordinate</key> <value>(720, 2572)</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_1_0</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> </param> <param> <key>_rotation</key> <value>0</value> </param> </block> <block> <key>note</key> <param> <key>id</key> <value>note_0_1</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> <key>note</key> <value>This is the full-fledged turbo equalizer/decoder</value> </param> <param> <key>alias</key> <value></value> </param> <param> <key>_coordinate</key> <value>(1144, 2572)</value> </param> <param> <key>_rotation</key> <value>0</value> </param> </block> <block> <key>note</key> <param> <key>id</key> <value>note_0_0</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> <key>note</key> <value>This is a better soft-equalizer/Viterbi decoder</value> </param> <param> <key>alias</key> <value></value> </param> <param> <key>_coordinate</key> <value>(1016, 1908)</value> </param> <param> <key>_rotation</key> <value>0</value> </param> </block> <block> <key>note</key> <param> <key>id</key> <value>note_0</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> </param> <param> <key>alias</key> <value></value> </param> <param> <key>_coordinate</key> <value>(1096, 1316)</value> </param> <param> <key>_rotation</key> <value>0</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_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_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>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>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>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>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>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>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>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_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_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_key>0</source_key> <sink_key>0</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_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_key>0</source_key> <sink_key>0</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_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_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_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_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_key>0</source_key> <sink_key>1</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_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_key>0</source_key> <sink_key>0</sink_key> </connection> <connection> <source_block_id>trellis_permutation_0_0_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>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_1_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>blocks_unpack_k_bits_bb_0_0_0</source_block_id> <sink_block_id>virtual_sink_0_1_1_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_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_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_key>0</source_key> <sink_key>0</sink_key> </connection> <connection> <source_block_id>virtual_source_0_0_0_0_0</source_block_id> <sink_block_id>blks2_error_rate_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_0_0</source_block_id> <sink_block_id>wxgui_numbersink2_3_0_0_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_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>virtual_source_0_0_0_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>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_key>0</source_key> <sink_key>0</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_key>0</source_key> <sink_key>1</sink_key> </connection> </flow_graph>