Skip to content
Snippets Groups Projects
loopback_ofdm.grc 78.7 KiB
Newer Older
Gonzalo Belcredi's avatar
Gonzalo Belcredi committed
<?xml version='1.0' encoding='utf-8'?>
Gonzalo Belcredi's avatar
Gonzalo Belcredi committed
<?grc format='1' created='3.7.13'?>
Gonzalo Belcredi's avatar
Gonzalo Belcredi committed
<flow_graph>
  <timestamp>Wed Jul  9 15:50:17 2014</timestamp>
  <block>
    <key>options</key>
    <param>
      <key>author</key>
      <value></value>
    </param>
    <param>
      <key>window_size</key>
      <value>3000, 3000</value>
    </param>
    <param>
      <key>category</key>
      <value>Custom</value>
    </param>
    <param>
      <key>comment</key>
      <value></value>
    </param>
    <param>
      <key>description</key>
      <value>Example of an OFDM receiver</value>
    </param>
    <param>
      <key>_enabled</key>
      <value>True</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(1, 0)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
    <param>
      <key>generate_options</key>
      <value>qt_gui</value>
    </param>
    <param>
      <key>hier_block_src_path</key>
      <value>.:</value>
    </param>
    <param>
      <key>id</key>
      <value>rx_ofdm</value>
    </param>
    <param>
      <key>max_nouts</key>
      <value>0</value>
    </param>
    <param>
      <key>qt_qss_theme</key>
      <value></value>
    </param>
    <param>
      <key>realtime_scheduling</key>
      <value></value>
    </param>
    <param>
      <key>run_command</key>
      <value>{python} -u {filename}</value>
    </param>
    <param>
      <key>run_options</key>
      <value>prompt</value>
    </param>
    <param>
      <key>run</key>
      <value>True</value>
    </param>
Gonzalo Belcredi's avatar
Gonzalo Belcredi committed
    <param>
      <key>sizing_mode</key>
      <value>fixed</value>
    </param>
Gonzalo Belcredi's avatar
Gonzalo Belcredi committed
    <param>
      <key>thread_safe_setters</key>
      <value></value>
    </param>
    <param>
      <key>title</key>
      <value>OFDM Rx</value>
    </param>
Gonzalo Belcredi's avatar
Gonzalo Belcredi committed
    <param>
      <key>placement</key>
      <value>(0,0)</value>
    </param>
Gonzalo Belcredi's avatar
Gonzalo Belcredi committed
  </block>
  <block>
    <key>variable</key>
    <param>
      <key>comment</key>
      <value></value>
    </param>
    <param>
      <key>_enabled</key>
      <value>True</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(301, -1)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
    <param>
      <key>id</key>
      <value>fft_len</value>
    </param>
    <param>
      <key>value</key>
      <value>64</value>
    </param>
  </block>
  <block>
    <key>variable</key>
    <param>
      <key>comment</key>
      <value></value>
    </param>
    <param>
      <key>_enabled</key>
      <value>True</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(896, 76)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
    <param>
      <key>id</key>
      <value>header_equalizer</value>
    </param>
    <param>
      <key>value</key>
      <value>digital.ofdm_equalizer_simpledfe(fft_len, header_mod.base(), occupied_carriers, pilot_carriers, pilot_symbols)</value>
    </param>
  </block>
  <block>
    <key>variable</key>
    <param>
      <key>comment</key>
      <value></value>
    </param>
    <param>
      <key>_enabled</key>
      <value>True</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(855, 0)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
    <param>
      <key>id</key>
      <value>header_formatter</value>
    </param>
    <param>
      <key>value</key>
      <value>digital.packet_header_ofdm(occupied_carriers, n_syms=1, len_tag_key=packet_length_tag_key, frame_len_tag_key=length_tag_key, bits_per_header_sym=header_mod.bits_per_symbol(), bits_per_payload_sym=payload_mod.bits_per_symbol(), scramble_header=False)</value>
    </param>
  </block>
  <block>
    <key>variable</key>
    <param>
      <key>comment</key>
      <value></value>
    </param>
    <param>
      <key>_enabled</key>
      <value>True</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(490, 0)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
    <param>
      <key>id</key>
      <value>header_mod</value>
    </param>
    <param>
      <key>value</key>
      <value>digital.constellation_bpsk()</value>
    </param>
  </block>
  <block>
    <key>variable</key>
    <param>
      <key>comment</key>
      <value></value>
    </param>
    <param>
      <key>_enabled</key>
      <value>True</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(367, -1)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
    <param>
      <key>id</key>
      <value>length_tag_key</value>
    </param>
    <param>
      <key>value</key>
      <value>"frame_len"</value>
    </param>
  </block>
  <block>
    <key>variable_qtgui_range</key>
    <param>
      <key>comment</key>
      <value></value>
    </param>
    <param>
      <key>value</key>
      <value>0</value>
    </param>
    <param>
      <key>_enabled</key>
      <value>True</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(8, 528)</value>
    </param>
    <param>
      <key>gui_hint</key>
Gonzalo Belcredi's avatar
Gonzalo Belcredi committed
      <value>1,0,1,1</value>
Gonzalo Belcredi's avatar
Gonzalo Belcredi committed
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
    <param>
      <key>id</key>
      <value>noise</value>
    </param>
    <param>
      <key>label</key>
      <value></value>
    </param>
    <param>
      <key>min_len</key>
      <value>200</value>
    </param>
    <param>
      <key>orient</key>
      <value>Qt.Horizontal</value>
    </param>
    <param>
      <key>start</key>
      <value>0</value>
    </param>
    <param>
      <key>step</key>
      <value>.1</value>
    </param>
    <param>
      <key>stop</key>
      <value>5</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>comment</key>
      <value></value>
    </param>
    <param>
      <key>_enabled</key>
      <value>True</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(520, 76)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
    <param>
      <key>id</key>
      <value>occupied_carriers</value>
    </param>
    <param>
      <key>value</key>
      <value>(range(-26, -21) + range(-20, -7) + range(-6, 0) + range(1, 7) + range(8, 21) + range(22, 27),)</value>
    </param>
  </block>
  <block>
    <key>variable</key>
    <param>
      <key>comment</key>
      <value></value>
    </param>
    <param>
      <key>_enabled</key>
      <value>True</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(1034, 0)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
    <param>
      <key>id</key>
      <value>packet_len</value>
    </param>
    <param>
      <key>value</key>
Gonzalo Belcredi's avatar
Gonzalo Belcredi committed
      <value>96</value>
Gonzalo Belcredi's avatar
Gonzalo Belcredi committed
    </param>
  </block>
  <block>
    <key>variable</key>
    <param>
      <key>comment</key>
      <value></value>
    </param>
    <param>
      <key>_enabled</key>
      <value>True</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(1132, 0)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
    <param>
      <key>id</key>
      <value>packet_length_tag_key</value>
    </param>
    <param>
      <key>value</key>
      <value>"packet_len"</value>
    </param>
  </block>
  <block>
    <key>variable</key>
    <param>
      <key>comment</key>
      <value></value>
    </param>
    <param>
      <key>_enabled</key>
      <value>True</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(1072, 76)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
    <param>
      <key>id</key>
      <value>payload_equalizer</value>
    </param>
    <param>
      <key>value</key>
      <value>digital.ofdm_equalizer_simpledfe(fft_len, payload_mod.base(), occupied_carriers, pilot_carriers, pilot_symbols, 1)</value>
    </param>
  </block>
  <block>
    <key>variable</key>
    <param>
      <key>comment</key>
      <value></value>
    </param>
    <param>
      <key>_enabled</key>
      <value>True</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(663, 1)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
    <param>
      <key>id</key>
      <value>payload_mod</value>
    </param>
    <param>
      <key>value</key>
      <value>digital.constellation_qpsk()</value>
    </param>
  </block>
  <block>
    <key>variable</key>
    <param>
      <key>comment</key>
      <value></value>
    </param>
    <param>
      <key>_enabled</key>
      <value>True</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(672, 76)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
    <param>
      <key>id</key>
      <value>pilot_carriers</value>
    </param>
    <param>
      <key>value</key>
      <value>((-21, -7, 7, 21,),)</value>
    </param>
  </block>
  <block>
    <key>variable</key>
    <param>
      <key>comment</key>
      <value></value>
    </param>
    <param>
      <key>_enabled</key>
      <value>True</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(792, 76)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
    <param>
      <key>id</key>
      <value>pilot_symbols</value>
    </param>
    <param>
      <key>value</key>
      <value>((1, 1, 1, -1,),)</value>
    </param>
  </block>
  <block>
    <key>variable</key>
    <param>
      <key>comment</key>
      <value></value>
    </param>
    <param>
      <key>_enabled</key>
      <value>True</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(0, 92)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
    <param>
      <key>id</key>
      <value>samp_rate</value>
    </param>
    <param>
      <key>value</key>
      <value>100000</value>
    </param>
  </block>
  <block>
    <key>variable</key>
    <param>
      <key>comment</key>
      <value></value>
    </param>
    <param>
      <key>_enabled</key>
      <value>True</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(232, 76)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
    <param>
      <key>id</key>
      <value>sync_word1</value>
    </param>
    <param>
      <key>value</key>
      <value>[0., 0., 0., 0., 0., 0., 0., 1.41421356, 0., -1.41421356, 0., 1.41421356, 0., -1.41421356, 0., -1.41421356, 0., -1.41421356, 0., 1.41421356, 0., -1.41421356, 0., 1.41421356, 0., -1.41421356, 0., -1.41421356, 0., -1.41421356, 0., -1.41421356, 0., 1.41421356, 0., -1.41421356, 0., 1.41421356, 0., 1.41421356, 0., 1.41421356, 0., -1.41421356, 0., 1.41421356, 0., 1.41421356, 0., 1.41421356, 0., -1.41421356, 0., 1.41421356, 0., 1.41421356, 0., 1.41421356, 0., 0., 0., 0., 0., 0.]</value>
    </param>
  </block>
  <block>
    <key>variable</key>
    <param>
      <key>comment</key>
      <value></value>
    </param>
    <param>
      <key>_enabled</key>
      <value>True</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(376, 76)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
    <param>
      <key>id</key>
      <value>sync_word2</value>
    </param>
    <param>
      <key>value</key>
      <value>[0j, 0j, 0j, 0j, 0j, 0j, (-1+0j), (-1+0j), (-1+0j), (-1+0j), (1+0j), (1+0j), (-1+0j), (-1+0j), (-1+0j), (1+0j), (-1+0j), (1+0j), (1+0j), (1 +0j), (1+0j), (1+0j), (-1+0j), (-1+0j), (-1+0j), (-1+0j), (-1+0j), (1+0j), (-1+0j), (-1+0j), (1+0j), (-1+0j), 0j, (1+0j), (-1+0j), (1+0j), (1+0j), (1+0j), (-1+0j), (1+0j), (1+0j), (1+0j), (-1+0j), (1+0j), (1+0j), (1+0j), (1+0j), (-1+0j), (1+0j), (-1+0j), (-1+0j), (-1+0j), (1+0j), (-1+0j), (1+0j), (-1+0j), (-1+0j), (-1+0j), (-1+0j), 0j, 0j, 0j, 0j, 0j]</value>
    </param>
  </block>
  <block>
    <key>variable_qtgui_range</key>
    <param>
      <key>comment</key>
      <value></value>
    </param>
    <param>
      <key>value</key>
      <value>1</value>
    </param>
    <param>
      <key>_enabled</key>
      <value>True</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(56, 1264)</value>
    </param>
    <param>
      <key>gui_hint</key>
Gonzalo Belcredi's avatar
Gonzalo Belcredi committed
      <value>0,0,1,1</value>
Gonzalo Belcredi's avatar
Gonzalo Belcredi committed
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
    <param>
      <key>id</key>
      <value>tap1</value>
    </param>
    <param>
      <key>label</key>
      <value></value>
    </param>
    <param>
      <key>min_len</key>
      <value>200</value>
    </param>
    <param>
      <key>orient</key>
      <value>Qt.Vertical</value>
    </param>
    <param>
      <key>start</key>
      <value>0</value>
    </param>
    <param>
      <key>step</key>
      <value>0.01</value>
    </param>
    <param>
      <key>stop</key>
      <value>1</value>
    </param>
    <param>
      <key>rangeType</key>
      <value>float</value>
    </param>
    <param>
      <key>widget</key>
Gonzalo Belcredi's avatar
Gonzalo Belcredi committed
      <value>counter_slider</value>
Gonzalo Belcredi's avatar
Gonzalo Belcredi committed
    </param>
  </block>
  <block>
    <key>variable_qtgui_range</key>
    <param>
      <key>comment</key>
      <value></value>
    </param>
    <param>
      <key>value</key>
      <value>0</value>
    </param>
    <param>
      <key>_enabled</key>
      <value>True</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(176, 1264)</value>
    </param>
    <param>
      <key>gui_hint</key>
Gonzalo Belcredi's avatar
Gonzalo Belcredi committed
      <value>0,1,1,1</value>
Gonzalo Belcredi's avatar
Gonzalo Belcredi committed
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
    <param>
      <key>id</key>
      <value>tap2</value>
    </param>
    <param>
      <key>label</key>
      <value></value>
    </param>
    <param>
      <key>min_len</key>
      <value>200</value>
    </param>
    <param>
      <key>orient</key>
      <value>Qt.Vertical</value>
    </param>
    <param>
      <key>start</key>
      <value>0</value>
    </param>
    <param>
      <key>step</key>
      <value>0.01</value>
    </param>
    <param>
      <key>stop</key>
      <value>1</value>
    </param>
    <param>
      <key>rangeType</key>
      <value>float</value>
    </param>
    <param>
      <key>widget</key>
Gonzalo Belcredi's avatar
Gonzalo Belcredi committed
      <value>counter_slider</value>
Gonzalo Belcredi's avatar
Gonzalo Belcredi committed
    </param>
  </block>
  <block>
    <key>variable_qtgui_range</key>
    <param>
      <key>comment</key>
      <value></value>
    </param>
    <param>
      <key>value</key>
      <value>0</value>
    </param>
    <param>
      <key>_enabled</key>
      <value>True</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(288, 1264)</value>
    </param>
    <param>
      <key>gui_hint</key>
Gonzalo Belcredi's avatar
Gonzalo Belcredi committed
      <value>0,2,1,1</value>
Gonzalo Belcredi's avatar
Gonzalo Belcredi committed
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
    <param>
      <key>id</key>
      <value>tap3</value>
    </param>
    <param>
      <key>label</key>
      <value></value>
    </param>
    <param>
      <key>min_len</key>
      <value>200</value>
    </param>
    <param>
      <key>orient</key>
      <value>Qt.Vertical</value>
    </param>
    <param>
      <key>start</key>
      <value>0</value>
    </param>
    <param>
      <key>step</key>
      <value>0.01</value>
    </param>
    <param>
      <key>stop</key>
      <value>1</value>
    </param>
    <param>
      <key>rangeType</key>
      <value>float</value>
    </param>
    <param>
      <key>widget</key>
Gonzalo Belcredi's avatar
Gonzalo Belcredi committed
      <value>counter_slider</value>
Gonzalo Belcredi's avatar
Gonzalo Belcredi committed
    </param>
  </block>
  <block>
    <key>variable_qtgui_range</key>
    <param>
      <key>comment</key>
      <value></value>
    </param>
    <param>
      <key>value</key>
      <value>0</value>
    </param>
    <param>
      <key>_enabled</key>
      <value>True</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(400, 1264)</value>
    </param>
    <param>
      <key>gui_hint</key>
Gonzalo Belcredi's avatar
Gonzalo Belcredi committed
      <value>0,3,1,1</value>
Gonzalo Belcredi's avatar
Gonzalo Belcredi committed
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
    <param>
      <key>id</key>
      <value>tap4</value>
    </param>
    <param>
      <key>label</key>
      <value></value>
    </param>
    <param>
      <key>min_len</key>
      <value>200</value>
    </param>
    <param>
      <key>orient</key>
      <value>Qt.Vertical</value>
    </param>
    <param>
      <key>start</key>
      <value>0</value>
    </param>
    <param>
      <key>step</key>
      <value>0.01</value>
    </param>
    <param>
      <key>stop</key>
      <value>1</value>
    </param>
    <param>
      <key>rangeType</key>
      <value>float</value>
    </param>
    <param>
      <key>widget</key>
Gonzalo Belcredi's avatar
Gonzalo Belcredi committed
      <value>counter_slider</value>
Gonzalo Belcredi's avatar
Gonzalo Belcredi committed
    </param>
  </block>
  <block>
    <key>analog_frequency_modulator_fc</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>1</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(1344, 236)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
    <param>
      <key>id</key>
      <value>analog_frequency_modulator_fc_0</value>
    </param>
    <param>
      <key>maxoutbuf</key>
      <value>0</value>
    </param>
    <param>
      <key>minoutbuf</key>
      <value>0</value>
    </param>
    <param>
      <key>sensitivity</key>
      <value>-2.0/fft_len</value>
    </param>
  </block>
  <block>
    <key>analog_random_source_x</key>
    <param>
      <key>alias</key>
      <value></value>
    </param>
    <param>
      <key>comment</key>
      <value></value>
    </param>
    <param>
      <key>affinity</key>
      <value></value>
    </param>
    <param>
      <key>_enabled</key>
      <value>0</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(0, 400)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
    <param>
      <key>id</key>
      <value>analog_random_source_x_0</value>
    </param>
    <param>
      <key>maxoutbuf</key>
      <value>0</value>
    </param>
    <param>
      <key>max</key>
      <value>255</value>
    </param>
    <param>
      <key>minoutbuf</key>
      <value>0</value>
    </param>
    <param>
      <key>min</key>
      <value>0</value>
    </param>
    <param>
      <key>num_samps</key>
      <value>100000</value>
    </param>
    <param>
      <key>type</key>
      <value>byte</value>
    </param>
    <param>
      <key>repeat</key>
      <value>True</value>
    </param>
  </block>
  <block>
    <key>blocks_complex_to_mag_squared</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>1</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(1224, 616)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
    <param>
      <key>id</key>
      <value>blocks_complex_to_mag_squared_0</value>
    </param>
    <param>
      <key>maxoutbuf</key>
      <value>0</value>
    </param>
    <param>
      <key>minoutbuf</key>
      <value>0</value>
    </param>
    <param>
      <key>vlen</key>
      <value>1</value>
    </param>
  </block>
  <block>
    <key>blocks_complex_to_mag_squared</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>1</value>
    </param>
    <param>
      <key>_coordinate</key>
      <value>(1224, 576)</value>
    </param>
    <param>
      <key>_rotation</key>
      <value>0</value>
    </param>
    <param>
      <key>id</key>
      <value>blocks_complex_to_mag_squared_0_0</value>
    </param>
    <param>
      <key>maxoutbuf</key>
      <value>0</value>
    </param>
    <param>
      <key>minoutbuf</key>
      <value>0</value>
    </param>
    <param>
      <key>vlen</key>
      <value>1</value>
    </param>
  </block>
  <block>