<?xml version='1.0' encoding='ASCII'?>
<flow_graph>
  <timestamp>Mon Jul 16 21:09:12 2012</timestamp>
  <block>
    <key>options</key>
    <param>
      <key>id</key>
      <value>ber_sim</value>
    </param>
    <param>
      <key>_enabled</key>
      <value>True</value>
    </param>
    <param>
      <key>title</key>
      <value>BER Simulation</value>
    </param>
    <param>
      <key>author</key>
      <value>Example</value>
    </param>
    <param>
      <key>description</key>
      <value>Adjust the noise and constellation... see what happens!</value>
    </param>
    <param>
      <key>window_size</key>
      <value>1280, 1024</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>_coordinate</key>
      <value>(16, 10)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
  </block>
  <block>
    <key>gr_throttle</key>
    <param>
      <key>id</key>
      <value>gr_throttle</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>samp_rate</value>
    </param>
    <param>
      <key>vlen</key>
      <value>1</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(284, 24)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
  </block>
  <block>
    <key>wxgui_numbersink2</key>
    <param>
      <key>id</key>
      <value>wxgui_numbersink2</value>
    </param>
    <param>
      <key>_enabled</key>
      <value>True</value>
    </param>
    <param>
      <key>type</key>
      <value>float</value>
    </param>
    <param>
      <key>title</key>
      <value>BER</value>
    </param>
    <param>
      <key>units</key>
      <value>%</value>
    </param>
    <param>
      <key>samp_rate</key>
      <value>samp_rate</value>
    </param>
    <param>
      <key>min_value</key>
      <value>0.0</value>
    </param>
    <param>
      <key>max_value</key>
      <value>1.0</value>
    </param>
    <param>
      <key>factor</key>
      <value>100</value>
    </param>
    <param>
      <key>decimal_places</key>
      <value>4</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</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>1, 0, 1, 1</value>
    </param>
    <param>
      <key>notebook</key>
      <value></value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(791, 228)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>180</value>
    </param>
  </block>
  <block>
    <key>import</key>
    <param>
      <key>id</key>
      <value>import</value>
    </param>
    <param>
      <key>_enabled</key>
      <value>True</value>
    </param>
    <param>
      <key>import</key>
      <value>import math</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(18, 373)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
  </block>
  <block>
    <key>variable</key>
    <param>
      <key>id</key>
      <value>const</value>
    </param>
    <param>
      <key>_enabled</key>
      <value>True</value>
    </param>
    <param>
      <key>value</key>
      <value>digital.qpsk_constellation()</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(116, 310)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
  </block>
  <block>
    <key>variable</key>
    <param>
      <key>id</key>
      <value>samp_rate</value>
    </param>
    <param>
      <key>_enabled</key>
      <value>True</value>
    </param>
    <param>
      <key>value</key>
      <value>100e3</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(16, 308)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
  </block>
  <block>
    <key>wxgui_scopesink2</key>
    <param>
      <key>id</key>
      <value>wxgui_scopesink2_0</value>
    </param>
    <param>
      <key>_enabled</key>
      <value>True</value>
    </param>
    <param>
      <key>type</key>
      <value>complex</value>
    </param>
    <param>
      <key>title</key>
      <value>"Constellation: "+str(const.arity()) + "-PSK"</value>
    </param>
    <param>
      <key>samp_rate</key>
      <value>samp_rate</value>
    </param>
    <param>
      <key>v_scale</key>
      <value>0</value>
    </param>
    <param>
      <key>v_offset</key>
      <value>0</value>
    </param>
    <param>
      <key>t_scale</key>
      <value>0</value>
    </param>
    <param>
      <key>ac_couple</key>
      <value>False</value>
    </param>
    <param>
      <key>xy_mode</key>
      <value>True</value>
    </param>
    <param>
      <key>num_inputs</key>
      <value>1</value>
    </param>
    <param>
      <key>win_size</key>
      <value></value>
    </param>
    <param>
      <key>grid_pos</key>
      <value>2, 0, 1, 1</value>
    </param>
    <param>
      <key>notebook</key>
      <value></value>
    </param>
    <param>
      <key>trig_mode</key>
      <value>gr.gr_TRIG_MODE_AUTO</value>
    </param>
    <param>
      <key>y_axis_label</key>
      <value>Counts</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(623, 228)</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</value>
    </param>
    <param>
      <key>_enabled</key>
      <value>True</value>
    </param>
    <param>
      <key>type</key>
      <value>'BER'</value>
    </param>
    <param>
      <key>win_size</key>
      <value>int(1e7)</value>
    </param>
    <param>
      <key>bits_per_symbol</key>
      <value>const.bits_per_symbol()</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(720, 25)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
  </block>
  <block>
    <key>gr_noise_source_x</key>
    <param>
      <key>id</key>
      <value>gr_noise_source_x</value>
    </param>
    <param>
      <key>_enabled</key>
      <value>True</value>
    </param>
    <param>
      <key>type</key>
      <value>complex</value>
    </param>
    <param>
      <key>noise_type</key>
      <value>gr.GR_GAUSSIAN</value>
    </param>
    <param>
      <key>amp</key>
      <value>1.0 / math.sqrt(2.0 * const.bits_per_symbol() * 10**(EbN0/10))</value>
    </param>
    <param>
      <key>seed</key>
      <value>42</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(16, 224)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
  </block>
  <block>
    <key>variable_slider</key>
    <param>
      <key>id</key>
      <value>EbN0</value>
    </param>
    <param>
      <key>_enabled</key>
      <value>True</value>
    </param>
    <param>
      <key>label</key>
      <value>Eb/N0 (dB)</value>
    </param>
    <param>
      <key>value</key>
      <value>10</value>
    </param>
    <param>
      <key>min</key>
      <value>-10</value>
    </param>
    <param>
      <key>max</key>
      <value>200</value>
    </param>
    <param>
      <key>num_steps</key>
      <value>211</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>_coordinate</key>
      <value>(311, 309)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
  </block>
  <block>
    <key>random_source_x</key>
    <param>
      <key>id</key>
      <value>random_source_x</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>const.arity()</value>
    </param>
    <param>
      <key>num_samps</key>
      <value>10000000</value>
    </param>
    <param>
      <key>repeat</key>
      <value>True</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(17, 125)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
  </block>
  <block>
    <key>digital_chunks_to_symbols_xx</key>
    <param>
      <key>id</key>
      <value>digital_chunks_to_symbols_xx_0</value>
    </param>
    <param>
      <key>_enabled</key>
      <value>True</value>
    </param>
    <param>
      <key>in_type</key>
      <value>byte</value>
    </param>
    <param>
      <key>out_type</key>
      <value>complex</value>
    </param>
    <param>
      <key>symbol_table</key>
      <value>const.points()</value>
    </param>
    <param>
      <key>dimension</key>
      <value>1</value>
    </param>
    <param>
      <key>num_ports</key>
      <value>1</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(284, 70)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
  </block>
  <block>
    <key>gr_add_xx</key>
    <param>
      <key>id</key>
      <value>gr_add_xx</value>
    </param>
    <param>
      <key>_enabled</key>
      <value>True</value>
    </param>
    <param>
      <key>type</key>
      <value>complex</value>
    </param>
    <param>
      <key>num_inputs</key>
      <value>2</value>
    </param>
    <param>
      <key>vlen</key>
      <value>1</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(469, 210)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
  </block>
  <block>
    <key>digital_constellation_decoder_cb</key>
    <param>
      <key>id</key>
      <value>digital_constellation_decoder_cb_0</value>
    </param>
    <param>
      <key>_enabled</key>
      <value>True</value>
    </param>
    <param>
      <key>constellation</key>
      <value>const.base()</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(622, 164)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
  </block>
  <connection>
    <source_block_id>blks2_error_rate</source_block_id>
    <sink_block_id>wxgui_numbersink2</sink_block_id>
    <source_key>0</source_key>
    <sink_key>0</sink_key>
  </connection>
  <connection>
    <source_block_id>gr_throttle</source_block_id>
    <sink_block_id>blks2_error_rate</sink_block_id>
    <source_key>0</source_key>
    <sink_key>0</sink_key>
  </connection>
  <connection>
    <source_block_id>gr_noise_source_x</source_block_id>
    <sink_block_id>gr_add_xx</sink_block_id>
    <source_key>0</source_key>
    <sink_key>1</sink_key>
  </connection>
  <connection>
    <source_block_id>random_source_x</source_block_id>
    <sink_block_id>gr_throttle</sink_block_id>
    <source_key>0</source_key>
    <sink_key>0</sink_key>
  </connection>
  <connection>
    <source_block_id>gr_add_xx</source_block_id>
    <sink_block_id>wxgui_scopesink2_0</sink_block_id>
    <source_key>0</source_key>
    <sink_key>0</sink_key>
  </connection>
  <connection>
    <source_block_id>digital_constellation_decoder_cb_0</source_block_id>
    <sink_block_id>blks2_error_rate</sink_block_id>
    <source_key>0</source_key>
    <sink_key>1</sink_key>
  </connection>
  <connection>
    <source_block_id>gr_add_xx</source_block_id>
    <sink_block_id>digital_constellation_decoder_cb_0</sink_block_id>
    <source_key>0</source_key>
    <sink_key>0</sink_key>
  </connection>
  <connection>
    <source_block_id>random_source_x</source_block_id>
    <sink_block_id>digital_chunks_to_symbols_xx_0</sink_block_id>
    <source_key>0</source_key>
    <sink_key>0</sink_key>
  </connection>
  <connection>
    <source_block_id>digital_chunks_to_symbols_xx_0</source_block_id>
    <sink_block_id>gr_add_xx</sink_block_id>
    <source_key>0</source_key>
    <sink_key>0</sink_key>
  </connection>
</flow_graph>