diff options
-rw-r--r-- | gr-digital/examples/ofdm/ofdm_loopback.grc | 1825 | ||||
-rw-r--r-- | gr-digital/examples/ofdm/rx_ofdm.grc | 2726 | ||||
-rw-r--r-- | gr-digital/examples/ofdm/tx_ofdm.grc | 3329 | ||||
-rw-r--r-- | gr-digital/grc/digital_header_payload_demux.block.yml | 8 | ||||
-rw-r--r-- | gr-digital/grc/digital_ofdm_carrier_allocator_cvc.block.yml | 2 | ||||
-rw-r--r-- | gr-digital/grc/digital_ofdm_chanest_vcvc.block.yml | 2 | ||||
-rw-r--r-- | gr-digital/grc/digital_ofdm_frame_equalizer_vcvc.block.yml | 2 | ||||
-rw-r--r-- | gr-digital/grc/digital_ofdm_serializer_vcc.block.yml | 2 |
8 files changed, 1878 insertions, 6018 deletions
diff --git a/gr-digital/examples/ofdm/ofdm_loopback.grc b/gr-digital/examples/ofdm/ofdm_loopback.grc index fbb26cae92..5d77187a92 100644 --- a/gr-digital/examples/ofdm/ofdm_loopback.grc +++ b/gr-digital/examples/ofdm/ofdm_loopback.grc @@ -1,1393 +1,432 @@ -<?xml version='1.0' encoding='ASCII'?> -<flow_graph> - <timestamp>Wed Jul 9 15:53:31 2014</timestamp> - <block> - <key>variable</key> - <param> - <key>id</key> - <value>len_tag_key</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>value</key> - <value>"packet_len"</value> - </param> - <param> - <key>alias</key> - <value></value> - </param> - <param> - <key>_coordinate</key> - <value>(283, 6)</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>100000</value> - </param> - <param> - <key>alias</key> - <value></value> - </param> - <param> - <key>_coordinate</key> - <value>(493, 7)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>variable</key> - <param> - <key>id</key> - <value>fft_len</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>value</key> - <value>64</value> - </param> - <param> - <key>alias</key> - <value></value> - </param> - <param> - <key>_coordinate</key> - <value>(403, 8)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>variable</key> - <param> - <key>id</key> - <value>packet_len</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>value</key> - <value>50</value> - </param> - <param> - <key>alias</key> - <value></value> - </param> - <param> - <key>_coordinate</key> - <value>(182, 6)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>blocks_vector_source_x</key> - <param> - <key>id</key> - <value>blocks_vector_source_x_0</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>type</key> - <value>byte</value> - </param> - <param> - <key>vector</key> - <value>range(packet_len)</value> - </param> - <param> - <key>tags</key> - <value>()</value> - </param> - <param> - <key>repeat</key> - <value>True</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>(5, 124)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>blocks_tag_debug</key> - <param> - <key>id</key> - <value>blocks_tag_debug_0</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>type</key> - <value>byte</value> - </param> - <param> - <key>name</key> - <value>Rx Packets</value> - </param> - <param> - <key>filter</key> - <value>""</value> - </param> - <param> - <key>num_inputs</key> - <value>1</value> - </param> - <param> - <key>vlen</key> - <value>1</value> - </param> - <param> - <key>display</key> - <value>True</value> - </param> - <param> - <key>alias</key> - <value></value> - </param> - <param> - <key>affinity</key> - <value></value> - </param> - <param> - <key>_coordinate</key> - <value>(325, 483)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>blocks_stream_to_tagged_stream</key> - <param> - <key>id</key> - <value>blocks_stream_to_tagged_stream_0</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>type</key> - <value>byte</value> - </param> - <param> - <key>vlen</key> - <value>1</value> - </param> - <param> - <key>packet_len</key> - <value>packet_len</value> - </param> - <param> - <key>len_tag_key</key> - <value>len_tag_key</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>(282, 132)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>digital_ofdm_rx</key> - <param> - <key>id</key> - <value>digital_ofdm_rx_0</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>fft_len</key> - <value>fft_len</value> - </param> - <param> - <key>cp_len</key> - <value>fft_len/4</value> - </param> - <param> - <key>packet_len_key</key> - <value>"rx_len"</value> - </param> - <param> - <key>occupied_carriers</key> - <value>()</value> - </param> - <param> - <key>pilot_carriers</key> - <value>()</value> - </param> - <param> - <key>pilot_symbols</key> - <value>()</value> - </param> - <param> - <key>sync_word1</key> - <value>()</value> - </param> - <param> - <key>sync_word2</key> - <value>()</value> - </param> - <param> - <key>header_mod</key> - <value>"BPSK"</value> - </param> - <param> - <key>payload_mod</key> - <value>"QPSK"</value> - </param> - <param> - <key>scramble_bits</key> - <value>False</value> - </param> - <param> - <key>log</key> - <value>False</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>(52, 374)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>digital_ofdm_tx</key> - <param> - <key>id</key> - <value>digital_ofdm_tx_0</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>fft_len</key> - <value>fft_len</value> - </param> - <param> - <key>cp_len</key> - <value>fft_len/4</value> - </param> - <param> - <key>packet_len_key</key> - <value>len_tag_key</value> - </param> - <param> - <key>occupied_carriers</key> - <value>()</value> - </param> - <param> - <key>pilot_carriers</key> - <value>()</value> - </param> - <param> - <key>pilot_symbols</key> - <value>()</value> - </param> - <param> - <key>sync_word1</key> - <value>()</value> - </param> - <param> - <key>sync_word2</key> - <value>()</value> - </param> - <param> - <key>header_mod</key> - <value>"BPSK"</value> - </param> - <param> - <key>payload_mod</key> - <value>"QPSK"</value> - </param> - <param> - <key>rolloff</key> - <value>0</value> - </param> - <param> - <key>scramble_bits</key> - <value>False</value> - </param> - <param> - <key>log</key> - <value>False</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>(557, 94)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>channels_channel_model</key> - <param> - <key>id</key> - <value>channels_channel_model_0</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>noise_voltage</key> - <value>noise_voltage</value> - </param> - <param> - <key>freq_offset</key> - <value>freq_offset * 1.0/fft_len</value> - </param> - <param> - <key>epsilon</key> - <value>1.0</value> - </param> - <param> - <key>taps</key> - <value>1.0 + 1.0j</value> - </param> - <param> - <key>seed</key> - <value>0</value> - </param> - <param> - <key>block_tags</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>(453, 244)</value> - </param> - <param> - <key>_rotation</key> - <value>180</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>complex</value> - </param> - <param> - <key>samples_per_second</key> - <value>samp_rate</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>(177, 281)</value> - </param> - <param> - <key>_rotation</key> - <value>180</value> - </param> - </block> - <block> - <key>qtgui_freq_sink_x</key> - <param> - <key>id</key> - <value>qtgui_freq_sink_x_0</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>type</key> - <value>complex</value> - </param> - <param> - <key>name</key> - <value>Rx Spectrum</value> - </param> - <param> - <key>fftsize</key> - <value>1024</value> - </param> - <param> - <key>wintype</key> - <value>firdes.WIN_BLACKMAN_hARRIS</value> - </param> - <param> - <key>fc</key> - <value>0</value> - </param> - <param> - <key>bw</key> - <value>samp_rate</value> - </param> - <param> - <key>autoscale</key> - <value>False</value> - </param> - <param> - <key>average</key> - <value>1.0</value> - </param> - <param> - <key>ymin</key> - <value>-140</value> - </param> - <param> - <key>ymax</key> - <value>10</value> - </param> - <param> - <key>nconnections</key> - <value>1</value> - </param> - <param> - <key>update_time</key> - <value>0.10</value> - </param> - <param> - <key>gui_hint</key> - <value></value> - </param> - <param> - <key>label1</key> - <value>Rx Spectrum</value> - </param> - <param> - <key>width1</key> - <value>1</value> - </param> - <param> - <key>color1</key> - <value>"blue"</value> - </param> - <param> - <key>alpha1</key> - <value>1.0</value> - </param> - <param> - <key>label2</key> - <value></value> - </param> - <param> - <key>width2</key> - <value>1</value> - </param> - <param> - <key>color2</key> - <value>"red"</value> - </param> - <param> - <key>alpha2</key> - <value>1.0</value> - </param> - <param> - <key>label3</key> - <value></value> - </param> - <param> - <key>width3</key> - <value>1</value> - </param> - <param> - <key>color3</key> - <value>"green"</value> - </param> - <param> - <key>alpha3</key> - <value>1.0</value> - </param> - <param> - <key>label4</key> - <value></value> - </param> - <param> - <key>width4</key> - <value>1</value> - </param> - <param> - <key>color4</key> - <value>"black"</value> - </param> - <param> - <key>alpha4</key> - <value>1.0</value> - </param> - <param> - <key>label5</key> - <value></value> - </param> - <param> - <key>width5</key> - <value>1</value> - </param> - <param> - <key>color5</key> - <value>"cyan"</value> - </param> - <param> - <key>alpha5</key> - <value>1.0</value> - </param> - <param> - <key>label6</key> - <value></value> - </param> - <param> - <key>width6</key> - <value>1</value> - </param> - <param> - <key>color6</key> - <value>"magenta"</value> - </param> - <param> - <key>alpha6</key> - <value>1.0</value> - </param> - <param> - <key>label7</key> - <value></value> - </param> - <param> - <key>width7</key> - <value>1</value> - </param> - <param> - <key>color7</key> - <value>"yellow"</value> - </param> - <param> - <key>alpha7</key> - <value>1.0</value> - </param> - <param> - <key>label8</key> - <value></value> - </param> - <param> - <key>width8</key> - <value>1</value> - </param> - <param> - <key>color8</key> - <value>"dark red"</value> - </param> - <param> - <key>alpha8</key> - <value>1.0</value> - </param> - <param> - <key>label9</key> - <value></value> - </param> - <param> - <key>width9</key> - <value>1</value> - </param> - <param> - <key>color9</key> - <value>"dark green"</value> - </param> - <param> - <key>alpha9</key> - <value>1.0</value> - </param> - <param> - <key>label10</key> - <value></value> - </param> - <param> - <key>width10</key> - <value>1</value> - </param> - <param> - <key>color10</key> - <value>"dark blue"</value> - </param> - <param> - <key>alpha10</key> - <value>1.0</value> - </param> - <param> - <key>alias</key> - <value></value> - </param> - <param> - <key>affinity</key> - <value></value> - </param> - <param> - <key>_coordinate</key> - <value>(52, 527)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>variable_qtgui_range</key> - <param> - <key>id</key> - <value>freq_offset</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>label</key> - <value>Frequency Offset (Multiples of Sub-carrier spacing)</value> - </param> - <param> - <key>value</key> - <value>0</value> - </param> - <param> - <key>start</key> - <value>-3</value> - </param> - <param> - <key>stop</key> - <value>3</value> - </param> - <param> - <key>step</key> - <value>.01</value> - </param> - <param> - <key>widget</key> - <value>counter_slider</value> - </param> - <param> - <key>orient</key> - <value>Qt.Horizontal</value> - </param> - <param> - <key>min_len</key> - <value>200</value> - </param> - <param> - <key>gui_hint</key> - <value></value> - </param> - <param> - <key>alias</key> - <value></value> - </param> - <param> - <key>_coordinate</key> - <value>(458, 518)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>variable_qtgui_range</key> - <param> - <key>id</key> - <value>noise_voltage</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>label</key> - <value>Noise Amplitude</value> - </param> - <param> - <key>value</key> - <value>0.1</value> - </param> - <param> - <key>start</key> - <value>0</value> - </param> - <param> - <key>stop</key> - <value>1</value> - </param> - <param> - <key>step</key> - <value>.01</value> - </param> - <param> - <key>widget</key> - <value>counter_slider</value> - </param> - <param> - <key>orient</key> - <value>Qt.Horizontal</value> - </param> - <param> - <key>min_len</key> - <value>200</value> - </param> - <param> - <key>gui_hint</key> - <value></value> - </param> - <param> - <key>alias</key> - <value></value> - </param> - <param> - <key>_coordinate</key> - <value>(652, 501)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>options</key> - <param> - <key>id</key> - <value>ofdm_loopback_example</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>title</key> - <value>OFDM Loopback Example</value> - </param> - <param> - <key>author</key> - <value></value> - </param> - <param> - <key>description</key> - <value>Transmit a pre-defined signal (a complex sine) as OFDM packets.</value> - </param> - <param> - <key>window_size</key> - <value>1280, 1024</value> - </param> - <param> - <key>generate_options</key> - <value>qt_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>(0, -1)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>blocks_uchar_to_float</key> - <param> - <key>id</key> - <value>blocks_uchar_to_float_0</value> - </param> - <param> - <key>_enabled</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>(326, 408)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>qtgui_time_sink_x</key> - <param> - <key>id</key> - <value>qtgui_time_sink_x_0</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>type</key> - <value>float</value> - </param> - <param> - <key>name</key> - <value>Scope Plot</value> - </param> - <param> - <key>size</key> - <value>1024</value> - </param> - <param> - <key>srate</key> - <value>samp_rate</value> - </param> - <param> - <key>autoscale</key> - <value>True</value> - </param> - <param> - <key>ymin</key> - <value>-1</value> - </param> - <param> - <key>ymax</key> - <value>1</value> - </param> - <param> - <key>nconnections</key> - <value>1</value> - </param> - <param> - <key>update_time</key> - <value>0.10</value> - </param> - <param> - <key>entags</key> - <value>True</value> - </param> - <param> - <key>gui_hint</key> - <value></value> - </param> - <param> - <key>tr_mode</key> - <value>qtgui.TRIG_MODE_FREE</value> - </param> - <param> - <key>tr_slope</key> - <value>qtgui.TRIG_SLOPE_POS</value> - </param> - <param> - <key>tr_level</key> - <value>0.0</value> - </param> - <param> - <key>tr_delay</key> - <value>0</value> - </param> - <param> - <key>tr_chan</key> - <value>0</value> - </param> - <param> - <key>tr_tag</key> - <value>""</value> - </param> - <param> - <key>label1</key> - <value></value> - </param> - <param> - <key>width1</key> - <value>1</value> - </param> - <param> - <key>color1</key> - <value>"blue"</value> - </param> - <param> - <key>style1</key> - <value>1</value> - </param> - <param> - <key>marker1</key> - <value>-1</value> - </param> - <param> - <key>alpha1</key> - <value>1.0</value> - </param> - <param> - <key>label2</key> - <value></value> - </param> - <param> - <key>width2</key> - <value>1</value> - </param> - <param> - <key>color2</key> - <value>"red"</value> - </param> - <param> - <key>style2</key> - <value>1</value> - </param> - <param> - <key>marker2</key> - <value>-1</value> - </param> - <param> - <key>alpha2</key> - <value>1.0</value> - </param> - <param> - <key>label3</key> - <value></value> - </param> - <param> - <key>width3</key> - <value>1</value> - </param> - <param> - <key>color3</key> - <value>"green"</value> - </param> - <param> - <key>style3</key> - <value>1</value> - </param> - <param> - <key>marker3</key> - <value>-1</value> - </param> - <param> - <key>alpha3</key> - <value>1.0</value> - </param> - <param> - <key>label4</key> - <value></value> - </param> - <param> - <key>width4</key> - <value>1</value> - </param> - <param> - <key>color4</key> - <value>"black"</value> - </param> - <param> - <key>style4</key> - <value>1</value> - </param> - <param> - <key>marker4</key> - <value>-1</value> - </param> - <param> - <key>alpha4</key> - <value>1.0</value> - </param> - <param> - <key>label5</key> - <value></value> - </param> - <param> - <key>width5</key> - <value>1</value> - </param> - <param> - <key>color5</key> - <value>"cyan"</value> - </param> - <param> - <key>style5</key> - <value>1</value> - </param> - <param> - <key>marker5</key> - <value>-1</value> - </param> - <param> - <key>alpha5</key> - <value>1.0</value> - </param> - <param> - <key>label6</key> - <value></value> - </param> - <param> - <key>width6</key> - <value>1</value> - </param> - <param> - <key>color6</key> - <value>"magenta"</value> - </param> - <param> - <key>style6</key> - <value>1</value> - </param> - <param> - <key>marker6</key> - <value>-1</value> - </param> - <param> - <key>alpha6</key> - <value>1.0</value> - </param> - <param> - <key>label7</key> - <value></value> - </param> - <param> - <key>width7</key> - <value>1</value> - </param> - <param> - <key>color7</key> - <value>"yellow"</value> - </param> - <param> - <key>style7</key> - <value>1</value> - </param> - <param> - <key>marker7</key> - <value>-1</value> - </param> - <param> - <key>alpha7</key> - <value>1.0</value> - </param> - <param> - <key>label8</key> - <value></value> - </param> - <param> - <key>width8</key> - <value>1</value> - </param> - <param> - <key>color8</key> - <value>"dark red"</value> - </param> - <param> - <key>style8</key> - <value>1</value> - </param> - <param> - <key>marker8</key> - <value>-1</value> - </param> - <param> - <key>alpha8</key> - <value>1.0</value> - </param> - <param> - <key>label9</key> - <value></value> - </param> - <param> - <key>width9</key> - <value>1</value> - </param> - <param> - <key>color9</key> - <value>"dark green"</value> - </param> - <param> - <key>style9</key> - <value>1</value> - </param> - <param> - <key>marker9</key> - <value>-1</value> - </param> - <param> - <key>alpha9</key> - <value>1.0</value> - </param> - <param> - <key>label10</key> - <value></value> - </param> - <param> - <key>width10</key> - <value>1</value> - </param> - <param> - <key>color10</key> - <value>"blue"</value> - </param> - <param> - <key>style10</key> - <value>1</value> - </param> - <param> - <key>marker10</key> - <value>-1</value> - </param> - <param> - <key>alpha10</key> - <value>1.0</value> - </param> - <param> - <key>alias</key> - <value></value> - </param> - <param> - <key>affinity</key> - <value></value> - </param> - <param> - <key>_coordinate</key> - <value>(550, 382)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <connection> - <source_block_id>digital_ofdm_tx_0</source_block_id> - <sink_block_id>channels_channel_model_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>digital_ofdm_rx_0</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>blocks_vector_source_x_0</source_block_id> - <sink_block_id>blocks_stream_to_tagged_stream_0</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>blocks_stream_to_tagged_stream_0</source_block_id> - <sink_block_id>digital_ofdm_tx_0</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>digital_ofdm_rx_0</source_block_id> - <sink_block_id>blocks_tag_debug_0</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>digital_ofdm_rx_0</source_block_id> - <sink_block_id>blocks_uchar_to_float_0</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>channels_channel_model_0</source_block_id> - <sink_block_id>blocks_throttle_0</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>blocks_throttle_0</source_block_id> - <sink_block_id>qtgui_freq_sink_x_0</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>blocks_uchar_to_float_0</source_block_id> - <sink_block_id>qtgui_time_sink_x_0</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> -</flow_graph> +options: + parameters: + author: '' + category: Custom + cmake_opt: '' + comment: '' + copyright: '' + description: Transmit a pre-defined signal (a complex sine) as OFDM packets. + gen_cmake: 'On' + gen_linking: dynamic + generate_options: qt_gui + hier_block_src_path: '.:' + id: ofdm_loopback_example + max_nouts: '0' + output_language: python + placement: (0,0) + qt_qss_theme: '' + realtime_scheduling: '' + run: 'True' + run_command: '{python} -u {filename}' + run_options: prompt + sizing_mode: fixed + thread_safe_setters: '' + title: OFDM Loopback Example + window_size: 1280, 1024 + states: + coordinate: [8, 12.0] + rotation: 0 + state: enabled + +blocks: +- name: fft_len + id: variable + parameters: + comment: '' + value: '64' + states: + coordinate: [408, 20.0] + rotation: 0 + state: enabled +- name: freq_offset + id: variable_qtgui_range + parameters: + comment: '' + gui_hint: '' + label: Frequency Offset (Multiples of Sub-carrier spacing) + min_len: '200' + orient: Qt.Horizontal + rangeType: float + start: '-3' + step: '.01' + stop: '3' + value: '0' + widget: counter_slider + states: + coordinate: [528, 548.0] + rotation: 0 + state: enabled +- name: len_tag_key + id: variable + parameters: + comment: '' + value: '"packet_len"' + states: + coordinate: [288, 20.0] + rotation: 0 + state: enabled +- name: noise_voltage + id: variable_qtgui_range + parameters: + comment: '' + gui_hint: '' + label: Noise Amplitude + min_len: '200' + orient: Qt.Horizontal + rangeType: float + start: '0' + step: '.01' + stop: '1' + value: '0.1' + widget: counter_slider + states: + coordinate: [704, 548.0] + rotation: 0 + state: enabled +- name: packet_len + id: variable + parameters: + comment: '' + value: '50' + states: + coordinate: [200, 20.0] + rotation: 0 + state: enabled +- name: samp_rate + id: variable + parameters: + comment: '' + value: '100000' + states: + coordinate: [504, 20.0] + rotation: 0 + state: enabled +- name: blocks_stream_to_tagged_stream_0 + id: blocks_stream_to_tagged_stream + parameters: + affinity: '' + alias: '' + comment: '' + len_tag_key: len_tag_key + maxoutbuf: '0' + minoutbuf: '0' + packet_len: packet_len + type: byte + vlen: '1' + states: + coordinate: [224, 140.0] + rotation: 0 + state: enabled +- name: blocks_tag_debug_0 + id: blocks_tag_debug + parameters: + affinity: '' + alias: '' + comment: '' + display: 'False' + filter: '""' + name: Rx Packets + num_inputs: '1' + type: byte + vlen: '1' + states: + coordinate: [352, 508.0] + rotation: 0 + state: enabled +- name: blocks_throttle_0 + id: blocks_throttle + parameters: + affinity: '' + alias: '' + comment: '' + ignoretag: 'True' + maxoutbuf: '0' + minoutbuf: '0' + samples_per_second: samp_rate + type: complex + vlen: '1' + states: + coordinate: [80, 300.0] + rotation: 180 + state: enabled +- name: blocks_uchar_to_float_0 + id: blocks_uchar_to_float + parameters: + affinity: '' + alias: '' + comment: '' + maxoutbuf: '0' + minoutbuf: '0' + states: + coordinate: [352, 448.0] + rotation: 0 + state: enabled +- name: blocks_vector_source_x_0 + id: blocks_vector_source_x + parameters: + affinity: '' + alias: '' + comment: '' + maxoutbuf: '0' + minoutbuf: '0' + repeat: 'True' + tags: () + type: byte + vector: range(packet_len) + vlen: '1' + states: + coordinate: [16, 132.0] + rotation: 0 + state: enabled +- name: channels_channel_model_0 + id: channels_channel_model + parameters: + affinity: '' + alias: '' + block_tags: 'True' + comment: '' + epsilon: '1.0' + freq_offset: freq_offset * 1.0/fft_len + maxoutbuf: '0' + minoutbuf: '0' + noise_voltage: noise_voltage + seed: '0' + taps: 1.0 + 1.0j + states: + coordinate: [528, 268.0] + rotation: 180 + state: enabled +- name: digital_ofdm_rx_0 + id: digital_ofdm_rx + parameters: + affinity: '' + alias: '' + comment: '' + cp_len: fft_len//4 + fft_len: fft_len + header_mod: '"BPSK"' + log: 'False' + maxoutbuf: '0' + minoutbuf: '0' + occupied_carriers: ((-4,-3,-2,-1,1,2,3,4),) + packet_len_key: '"rx_len"' + payload_mod: '"QPSK"' + pilot_carriers: ((-6,-5,5,6),) + pilot_symbols: ((-1,1,-1,1),) + scramble_bits: 'False' + sync_word1: None + sync_word2: None + states: + coordinate: [80, 380.0] + rotation: 0 + state: enabled +- name: digital_ofdm_tx_0 + id: digital_ofdm_tx + parameters: + affinity: '' + alias: '' + comment: '' + cp_len: fft_len//4 + fft_len: fft_len + header_mod: '"BPSK"' + log: 'False' + maxoutbuf: '0' + minoutbuf: '0' + occupied_carriers: ((-4,-3,-2,-1,1,2,3,4),) + packet_len_key: len_tag_key + payload_mod: '"QPSK"' + pilot_carriers: ((-6,-5,5,6),) + pilot_symbols: ((-1,1,-1,1),) + rolloff: '0' + scramble_bits: 'False' + sync_word1: None + sync_word2: None + states: + coordinate: [480, 76.0] + rotation: 0 + state: enabled +- name: qtgui_freq_sink_x_0 + id: qtgui_freq_sink_x + parameters: + affinity: '' + alias: '' + alpha1: '1.0' + alpha10: '1.0' + alpha2: '1.0' + alpha3: '1.0' + alpha4: '1.0' + alpha5: '1.0' + alpha6: '1.0' + alpha7: '1.0' + alpha8: '1.0' + alpha9: '1.0' + autoscale: 'False' + average: '1.0' + axislabels: 'True' + bw: samp_rate + color1: '"blue"' + color10: '"dark blue"' + color2: '"red"' + color3: '"green"' + color4: '"black"' + color5: '"cyan"' + color6: '"magenta"' + color7: '"yellow"' + color8: '"dark red"' + color9: '"dark green"' + comment: '' + ctrlpanel: 'False' + fc: '0' + fftsize: '1024' + freqhalf: 'True' + grid: 'False' + gui_hint: '' + label: Relative Gain + label1: Rx Spectrum + label10: '' + label2: '' + label3: '' + label4: '' + label5: '' + label6: '' + label7: '' + label8: '' + label9: '' + legend: 'True' + maxoutbuf: '0' + minoutbuf: '0' + name: Rx Spectrum + nconnections: '1' + showports: 'True' + tr_chan: '0' + tr_level: '0.0' + tr_mode: qtgui.TRIG_MODE_FREE + tr_tag: '""' + type: complex + units: dB + update_time: '0.10' + width1: '1' + width10: '1' + width2: '1' + width3: '1' + width4: '1' + width5: '1' + width6: '1' + width7: '1' + width8: '1' + width9: '1' + wintype: firdes.WIN_BLACKMAN_hARRIS + ymax: '10' + ymin: '-140' + states: + coordinate: [80, 564.0] + rotation: 0 + state: enabled +- name: qtgui_time_sink_x_0 + id: qtgui_time_sink_x + parameters: + affinity: '' + alias: '' + alpha1: '1.0' + alpha10: '1.0' + alpha2: '1.0' + alpha3: '1.0' + alpha4: '1.0' + alpha5: '1.0' + alpha6: '1.0' + alpha7: '1.0' + alpha8: '1.0' + alpha9: '1.0' + autoscale: 'True' + axislabels: 'True' + color1: '"blue"' + color10: '"blue"' + color2: '"red"' + color3: '"green"' + color4: '"black"' + color5: '"cyan"' + color6: '"magenta"' + color7: '"yellow"' + color8: '"dark red"' + color9: '"dark green"' + comment: '' + ctrlpanel: 'False' + entags: 'True' + grid: 'False' + gui_hint: '' + label1: '' + label10: '' + label2: '' + label3: '' + label4: '' + label5: '' + label6: '' + label7: '' + label8: '' + label9: '' + legend: 'True' + marker1: '-1' + marker10: '-1' + marker2: '-1' + marker3: '-1' + marker4: '-1' + marker5: '-1' + marker6: '-1' + marker7: '-1' + marker8: '-1' + marker9: '-1' + name: Scope Plot + nconnections: '1' + size: '1024' + srate: samp_rate + stemplot: 'False' + style1: '1' + style10: '1' + style2: '1' + style3: '1' + style4: '1' + style5: '1' + style6: '1' + style7: '1' + style8: '1' + style9: '1' + tr_chan: '0' + tr_delay: '0' + tr_level: '0.0' + tr_mode: qtgui.TRIG_MODE_FREE + tr_slope: qtgui.TRIG_SLOPE_POS + tr_tag: '""' + type: float + update_time: '0.10' + width1: '1' + width10: '1' + width2: '1' + width3: '1' + width4: '1' + width5: '1' + width6: '1' + width7: '1' + width8: '1' + width9: '1' + ylabel: Amplitude + ymax: '1' + ymin: '-1' + yunit: '""' + states: + coordinate: [528, 420.0] + rotation: 0 + state: enabled + +connections: +- [blocks_stream_to_tagged_stream_0, '0', digital_ofdm_tx_0, '0'] +- [blocks_throttle_0, '0', digital_ofdm_rx_0, '0'] +- [blocks_throttle_0, '0', qtgui_freq_sink_x_0, '0'] +- [blocks_uchar_to_float_0, '0', qtgui_time_sink_x_0, '0'] +- [blocks_vector_source_x_0, '0', blocks_stream_to_tagged_stream_0, '0'] +- [channels_channel_model_0, '0', blocks_throttle_0, '0'] +- [digital_ofdm_rx_0, '0', blocks_tag_debug_0, '0'] +- [digital_ofdm_rx_0, '0', blocks_uchar_to_float_0, '0'] +- [digital_ofdm_tx_0, '0', channels_channel_model_0, '0'] + +metadata: + file_format: 1 diff --git a/gr-digital/examples/ofdm/rx_ofdm.grc b/gr-digital/examples/ofdm/rx_ofdm.grc index a6cb385e14..a11c31317f 100644 --- a/gr-digital/examples/ofdm/rx_ofdm.grc +++ b/gr-digital/examples/ofdm/rx_ofdm.grc @@ -1,2050 +1,676 @@ -<?xml version='1.0' encoding='ASCII'?> -<flow_graph> - <timestamp>Wed Jul 9 15:50:17 2014</timestamp> - <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>10000</value> - </param> - <param> - <key>alias</key> - <value></value> - </param> - <param> - <key>_coordinate</key> - <value>(170, 65)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>variable</key> - <param> - <key>id</key> - <value>header_formatter</value> - </param> - <param> - <key>_enabled</key> - <value>True</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> - <param> - <key>alias</key> - <value></value> - </param> - <param> - <key>_coordinate</key> - <value>(855, 0)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>variable</key> - <param> - <key>id</key> - <value>packet_length_tag_key</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>value</key> - <value>"packet_len"</value> - </param> - <param> - <key>alias</key> - <value></value> - </param> - <param> - <key>_coordinate</key> - <value>(1132, 0)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>variable</key> - <param> - <key>id</key> - <value>length_tag_key</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>value</key> - <value>"frame_len"</value> - </param> - <param> - <key>alias</key> - <value></value> - </param> - <param> - <key>_coordinate</key> - <value>(367, -1)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>variable</key> - <param> - <key>id</key> - <value>occupied_carriers</value> - </param> - <param> - <key>_enabled</key> - <value>True</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> - <param> - <key>alias</key> - <value></value> - </param> - <param> - <key>_coordinate</key> - <value>(541, 70)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>variable</key> - <param> - <key>id</key> - <value>pilot_symbols</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>value</key> - <value>((1, 1, 1, -1,),)</value> - </param> - <param> - <key>alias</key> - <value></value> - </param> - <param> - <key>_coordinate</key> - <value>(813, 70)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>variable</key> - <param> - <key>id</key> - <value>pilot_carriers</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>value</key> - <value>((-21, -7, 7, 21,),)</value> - </param> - <param> - <key>alias</key> - <value></value> - </param> - <param> - <key>_coordinate</key> - <value>(692, 70)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>variable</key> - <param> - <key>id</key> - <value>packet_len</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>value</key> - <value>96</value> - </param> - <param> - <key>alias</key> - <value></value> - </param> - <param> - <key>_coordinate</key> - <value>(1034, 0)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>variable</key> - <param> - <key>id</key> - <value>header_mod</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>value</key> - <value>digital.constellation_bpsk()</value> - </param> - <param> - <key>alias</key> - <value></value> - </param> - <param> - <key>_coordinate</key> - <value>(490, 0)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>variable</key> - <param> - <key>id</key> - <value>fft_len</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>value</key> - <value>64</value> - </param> - <param> - <key>alias</key> - <value></value> - </param> - <param> - <key>_coordinate</key> - <value>(301, -1)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>variable</key> - <param> - <key>id</key> - <value>sync_word1</value> - </param> - <param> - <key>_enabled</key> - <value>True</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> - <param> - <key>alias</key> - <value></value> - </param> - <param> - <key>_coordinate</key> - <value>(255, 67)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>variable</key> - <param> - <key>id</key> - <value>sync_word2</value> - </param> - <param> - <key>_enabled</key> - <value>True</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> - <param> - <key>alias</key> - <value></value> - </param> - <param> - <key>_coordinate</key> - <value>(399, 66)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>variable</key> - <param> - <key>id</key> - <value>payload_equalizer</value> - </param> - <param> - <key>_enabled</key> - <value>True</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> - <param> - <key>alias</key> - <value></value> - </param> - <param> - <key>_coordinate</key> - <value>(1112, 73)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>variable</key> - <param> - <key>id</key> - <value>header_equalizer</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>value</key> - <value>digital.ofdm_equalizer_simpledfe(fft_len, header_mod.base(), occupied_carriers, pilot_carriers, pilot_symbols)</value> - </param> - <param> - <key>alias</key> - <value></value> - </param> - <param> - <key>_coordinate</key> - <value>(931, 69)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>variable</key> - <param> - <key>id</key> - <value>payload_mod</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>value</key> - <value>digital.constellation_qpsk()</value> - </param> - <param> - <key>alias</key> - <value></value> - </param> - <param> - <key>_coordinate</key> - <value>(663, 1)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>import</key> - <param> - <key>id</key> - <value>import_1</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>import</key> - <value>from gnuradio.digital.utils import tagged_streams</value> - </param> - <param> - <key>alias</key> - <value></value> - </param> - <param> - <key>_coordinate</key> - <value>(163, 0)</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>255</value> - </param> - <param> - <key>num_samps</key> - <value>1000</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>(2, 167)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>analog_frequency_modulator_fc</key> - <param> - <key>id</key> - <value>analog_frequency_modulator_fc_0</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>sensitivity</key> - <value>-2.0/fft_len</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>(920, 171)</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>complex</value> - </param> - <param> - <key>samples_per_second</key> - <value>samp_rate</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>(440, 187)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>blocks_multiply_xx</key> - <param> - <key>id</key> - <value>blocks_multiply_xx_0</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>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>(1117, 265)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>digital_ofdm_sync_sc_cfb</key> - <param> - <key>id</key> - <value>digital_ofdm_sync_sc_cfb_0</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>fft_len</key> - <value>fft_len</value> - </param> - <param> - <key>cp_len</key> - <value>fft_len/4</value> - </param> - <param> - <key>use_even_carriers</key> - <value>False</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>(627, 175)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>digital_packet_headerparser_b</key> - <param> - <key>id</key> - <value>digital_packet_headerparser_b_0</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>header_formatter</key> - <value>header_formatter.base()</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>(634, 529)</value> - </param> - <param> - <key>_rotation</key> - <value>180</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>header_mod.base()</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>(903, 530)</value> - </param> - <param> - <key>_rotation</key> - <value>180</value> - </param> - </block> - <block> - <key>fft_vxx</key> - <param> - <key>id</key> - <value>fft_vxx_0</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>type</key> - <value>complex</value> - </param> - <param> - <key>fft_size</key> - <value>fft_len</value> - </param> - <param> - <key>forward</key> - <value>True</value> - </param> - <param> - <key>window</key> - <value>()</value> - </param> - <param> - <key>shift</key> - <value>True</value> - </param> - <param> - <key>nthreads</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>(217, 576)</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>Header Stream</value> - </param> - <param> - <key>_coordinate</key> - <value>(1098, 414)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>blocks_stream_to_tagged_stream</key> - <param> - <key>id</key> - <value>blocks_stream_to_tagged_stream_0</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>type</key> - <value>byte</value> - </param> - <param> - <key>vlen</key> - <value>1</value> - </param> - <param> - <key>packet_len</key> - <value>packet_len</value> - </param> - <param> - <key>len_tag_key</key> - <value>packet_length_tag_key</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>(171, 182)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>digital_ofdm_chanest_vcvc</key> - <param> - <key>id</key> - <value>digital_ofdm_chanest_vcvc_0</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>sync_symbol1</key> - <value>sync_word1</value> - </param> - <param> - <key>sync_symbol2</key> - <value>sync_word2</value> - </param> - <param> - <key>n_data_symbols</key> - <value>1</value> - </param> - <param> - <key>eq_noise_red_len</key> - <value>0</value> - </param> - <param> - <key>max_carr_offset</key> - <value>3</value> - </param> - <param> - <key>force_one_symbol</key> - <value>False</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>(442, 584)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>digital_ofdm_frame_equalizer_vcvc</key> - <param> - <key>id</key> - <value>digital_ofdm_frame_equalizer_vcvc_0</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>fft_len</key> - <value>fft_len</value> - </param> - <param> - <key>cp_len</key> - <value>fft_len/4</value> - </param> - <param> - <key>equalizer</key> - <value>header_equalizer.base()</value> - </param> - <param> - <key>len_tag_key</key> - <value>length_tag_key</value> - </param> - <param> - <key>propagate_channel_state</key> - <value>True</value> - </param> - <param> - <key>fixed_frame_len</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>(675, 577)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>virtual_source</key> - <param> - <key>id</key> - <value>virtual_source_1</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>stream_id</key> - <value>Payload Stream</value> - </param> - <param> - <key>_coordinate</key> - <value>(0, 732)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>virtual_sink</key> - <param> - <key>id</key> - <value>virtual_sink_1</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>stream_id</key> - <value>Payload Stream</value> - </param> - <param> - <key>_coordinate</key> - <value>(1094, 470)</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>Header Stream</value> - </param> - <param> - <key>_coordinate</key> - <value>(5, 606)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>fft_vxx</key> - <param> - <key>id</key> - <value>fft_vxx_1</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>type</key> - <value>complex</value> - </param> - <param> - <key>fft_size</key> - <value>fft_len</value> - </param> - <param> - <key>forward</key> - <value>True</value> - </param> - <param> - <key>window</key> - <value></value> - </param> - <param> - <key>shift</key> - <value>True</value> - </param> - <param> - <key>nthreads</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>(221, 702)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>digital_ofdm_frame_equalizer_vcvc</key> - <param> - <key>id</key> - <value>digital_ofdm_frame_equalizer_vcvc_1</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>fft_len</key> - <value>fft_len</value> - </param> - <param> - <key>cp_len</key> - <value>fft_len/4</value> - </param> - <param> - <key>equalizer</key> - <value>payload_equalizer.base()</value> - </param> - <param> - <key>len_tag_key</key> - <value>length_tag_key</value> - </param> - <param> - <key>propagate_channel_state</key> - <value>True</value> - </param> - <param> - <key>fixed_frame_len</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, 702)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>virtual_sink</key> - <param> - <key>id</key> - <value>virtual_sink_1_0</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>stream_id</key> - <value>Payload IQ</value> - </param> - <param> - <key>_coordinate</key> - <value>(1139, 732)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>digital_crc32_bb</key> - <param> - <key>id</key> - <value>digital_crc32_bb_0</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>check</key> - <value>True</value> - </param> - <param> - <key>lengthtagname</key> - <value>packet_length_tag_key</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>(659, 841)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>blocks_repack_bits_bb</key> - <param> - <key>id</key> - <value>blocks_repack_bits_bb_0</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>k</key> - <value>payload_mod.bits_per_symbol()</value> - </param> - <param> - <key>l</key> - <value>8</value> - </param> - <param> - <key>len_tag_key</key> - <value>packet_length_tag_key</value> - </param> - <param> - <key>align_output</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>(430, 826)</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_1</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>constellation</key> - <value>payload_mod.base()</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>(183, 848)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>virtual_source</key> - <param> - <key>id</key> - <value>virtual_source_0_0</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>stream_id</key> - <value>Payload IQ</value> - </param> - <param> - <key>_coordinate</key> - <value>(1, 851)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>blocks_tag_debug</key> - <param> - <key>id</key> - <value>blocks_tag_debug_1</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>type</key> - <value>byte</value> - </param> - <param> - <key>name</key> - <value>Rx Bytes</value> - </param> - <param> - <key>filter</key> - <value>""</value> - </param> - <param> - <key>num_inputs</key> - <value>1</value> - </param> - <param> - <key>vlen</key> - <value>1</value> - </param> - <param> - <key>display</key> - <value>True</value> - </param> - <param> - <key>alias</key> - <value></value> - </param> - <param> - <key>affinity</key> - <value></value> - </param> - <param> - <key>_coordinate</key> - <value>(898, 841)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>channels_channel_model</key> - <param> - <key>id</key> - <value>channels_channel_model_0</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>noise_voltage</key> - <value>0.1</value> - </param> - <param> - <key>freq_offset</key> - <value>0 * 1.0/fft_len</value> - </param> - <param> - <key>epsilon</key> - <value>1.0</value> - </param> - <param> - <key>taps</key> - <value>1.0</value> - </param> - <param> - <key>seed</key> - <value>0</value> - </param> - <param> - <key>block_tags</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>(303, 372)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>digital_ofdm_tx</key> - <param> - <key>id</key> - <value>digital_ofdm_tx_0</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>fft_len</key> - <value>fft_len</value> - </param> - <param> - <key>cp_len</key> - <value>fft_len/4</value> - </param> - <param> - <key>packet_len_key</key> - <value>packet_length_tag_key</value> - </param> - <param> - <key>occupied_carriers</key> - <value>occupied_carriers</value> - </param> - <param> - <key>pilot_carriers</key> - <value>pilot_carriers</value> - </param> - <param> - <key>pilot_symbols</key> - <value>pilot_symbols</value> - </param> - <param> - <key>sync_word1</key> - <value>sync_word1</value> - </param> - <param> - <key>sync_word2</key> - <value>sync_word2</value> - </param> - <param> - <key>header_mod</key> - <value>"BPSK"</value> - </param> - <param> - <key>payload_mod</key> - <value>"QPSK"</value> - </param> - <param> - <key>rolloff</key> - <value>0</value> - </param> - <param> - <key>scramble_bits</key> - <value>False</value> - </param> - <param> - <key>log</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>(58, 327)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>digital_header_payload_demux</key> - <param> - <key>id</key> - <value>digital_header_payload_demux_0</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>header_len</key> - <value>3</value> - </param> - <param> - <key>items_per_symbol</key> - <value>fft_len</value> - </param> - <param> - <key>guard_interval</key> - <value>fft_len/4</value> - </param> - <param> - <key>length_tag_key</key> - <value>length_tag_key</value> - </param> - <param> - <key>trigger_tag_key</key> - <value>""</value> - </param> - <param> - <key>output_symbols</key> - <value>True</value> - </param> - <param> - <key>type</key> - <value>complex</value> - </param> - <param> - <key>timing_tag_key</key> - <value>"rx_time"</value> - </param> - <param> - <key>samp_rate</key> - <value>samp_rate</value> - </param> - <param> - <key>special_tags</key> - <value>()</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>(766, 363)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>digital_ofdm_serializer_vcc</key> - <param> - <key>id</key> - <value>digital_ofdm_serializer_vcc_header</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>fft_len</key> - <value>fft_len</value> - </param> - <param> - <key>occupied_carriers</key> - <value>occupied_carriers</value> - </param> - <param> - <key>len_tag_key</key> - <value>length_tag_key</value> - </param> - <param> - <key>packet_len_tag_key</key> - <value></value> - </param> - <param> - <key>symbols_skipped</key> - <value>0</value> - </param> - <param> - <key>carr_offset_key</key> - <value></value> - </param> - <param> - <key>input_is_shifted</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>(914, 584)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>digital_ofdm_serializer_vcc</key> - <param> - <key>id</key> - <value>digital_ofdm_serializer_vcc_payload</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>fft_len</key> - <value>fft_len</value> - </param> - <param> - <key>occupied_carriers</key> - <value>occupied_carriers</value> - </param> - <param> - <key>len_tag_key</key> - <value>length_tag_key</value> - </param> - <param> - <key>packet_len_tag_key</key> - <value>packet_length_tag_key</value> - </param> - <param> - <key>symbols_skipped</key> - <value>1</value> - </param> - <param> - <key>carr_offset_key</key> - <value></value> - </param> - <param> - <key>input_is_shifted</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>(916, 710)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>blocks_delay</key> - <param> - <key>id</key> - <value>blocks_delay_0</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>type</key> - <value>complex</value> - </param> - <param> - <key>delay</key> - <value>fft_len+fft_len/4</value> - </param> - <param> - <key>num_ports</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>(622, 273)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>options</key> - <param> - <key>id</key> - <value>rx_ofdm</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>title</key> - <value>OFDM Rx</value> - </param> - <param> - <key>author</key> - <value></value> - </param> - <param> - <key>description</key> - <value>Example of an OFDM receiver</value> - </param> - <param> - <key>window_size</key> - <value>1280, 1024</value> - </param> - <param> - <key>generate_options</key> - <value>no_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>(1, 0)</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>blocks_stream_to_tagged_stream_0</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>blocks_stream_to_tagged_stream_0</source_block_id> - <sink_block_id>digital_ofdm_tx_0</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>digital_ofdm_tx_0</source_block_id> - <sink_block_id>channels_channel_model_0</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>channels_channel_model_0</source_block_id> - <sink_block_id>blocks_throttle_0</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>blocks_throttle_0</source_block_id> - <sink_block_id>digital_ofdm_sync_sc_cfb_0</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>digital_header_payload_demux_0</source_block_id> - <sink_block_id>virtual_sink_0</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>digital_ofdm_sync_sc_cfb_0</source_block_id> - <sink_block_id>analog_frequency_modulator_fc_0</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>analog_frequency_modulator_fc_0</source_block_id> - <sink_block_id>blocks_multiply_xx_0</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>blocks_multiply_xx_0</source_block_id> - <sink_block_id>digital_header_payload_demux_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_delay_0</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>blocks_delay_0</source_block_id> - <sink_block_id>blocks_multiply_xx_0</sink_block_id> - <source_key>0</source_key> - <sink_key>1</sink_key> - </connection> - <connection> - <source_block_id>digital_ofdm_sync_sc_cfb_0</source_block_id> - <sink_block_id>digital_header_payload_demux_0</sink_block_id> - <source_key>1</source_key> - <sink_key>1</sink_key> - </connection> - <connection> - <source_block_id>digital_header_payload_demux_0</source_block_id> - <sink_block_id>virtual_sink_1</sink_block_id> - <source_key>1</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>digital_packet_headerparser_b_0</source_block_id> - <sink_block_id>digital_header_payload_demux_0</sink_block_id> - <source_key>header_data</source_key> - <sink_key>header_data</sink_key> - </connection> - <connection> - <source_block_id>digital_ofdm_chanest_vcvc_0</source_block_id> - <sink_block_id>digital_ofdm_frame_equalizer_vcvc_0</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>digital_ofdm_frame_equalizer_vcvc_0</source_block_id> - <sink_block_id>digital_ofdm_serializer_vcc_header</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>digital_ofdm_serializer_vcc_header</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>digital_constellation_decoder_cb_0</source_block_id> - <sink_block_id>digital_packet_headerparser_b_0</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>fft_vxx_0</source_block_id> - <sink_block_id>digital_ofdm_chanest_vcvc_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>fft_vxx_0</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>virtual_source_1</source_block_id> - <sink_block_id>fft_vxx_1</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>digital_ofdm_serializer_vcc_payload</source_block_id> - <sink_block_id>virtual_sink_1_0</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>digital_ofdm_frame_equalizer_vcvc_1</source_block_id> - <sink_block_id>digital_ofdm_serializer_vcc_payload</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>fft_vxx_1</source_block_id> - <sink_block_id>digital_ofdm_frame_equalizer_vcvc_1</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>digital_crc32_bb_0</source_block_id> - <sink_block_id>blocks_tag_debug_1</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>blocks_repack_bits_bb_0</source_block_id> - <sink_block_id>digital_crc32_bb_0</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>virtual_source_0_0</source_block_id> - <sink_block_id>digital_constellation_decoder_cb_1</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>digital_constellation_decoder_cb_1</source_block_id> - <sink_block_id>blocks_repack_bits_bb_0</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> -</flow_graph> +options: + parameters: + author: '' + category: Custom + cmake_opt: '' + comment: '' + copyright: '' + description: Example of an OFDM receiver + gen_cmake: 'On' + gen_linking: dynamic + generate_options: no_gui + hier_block_src_path: '.:' + id: rx_ofdm + max_nouts: '0' + output_language: python + placement: (0,0) + qt_qss_theme: '' + realtime_scheduling: '' + run: 'True' + run_command: '{python} -u {filename}' + run_options: prompt + sizing_mode: fixed + thread_safe_setters: '' + title: OFDM Rx + window_size: 1280, 1024 + states: + coordinate: [8, 12.0] + rotation: 0 + state: enabled + +blocks: +- name: fft_len + id: variable + parameters: + comment: '' + value: '64' + states: + coordinate: [328, 12.0] + rotation: 0 + state: enabled +- name: header_equalizer + id: variable + parameters: + comment: '' + value: digital.ofdm_equalizer_simpledfe(fft_len, header_mod.base(), occupied_carriers, + pilot_carriers, pilot_symbols) + states: + coordinate: [952, 76.0] + rotation: 0 + state: enabled +- name: header_formatter + id: variable + parameters: + comment: '' + 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) + states: + coordinate: [880, 12.0] + rotation: 0 + state: enabled +- name: header_mod + id: variable + parameters: + comment: '' + value: digital.constellation_bpsk() + states: + coordinate: [512, 12.0] + rotation: 0 + state: enabled +- name: length_tag_key + id: variable + parameters: + comment: '' + value: '"frame_len"' + states: + coordinate: [392, 12.0] + rotation: 0 + state: enabled +- name: occupied_carriers + id: variable + parameters: + comment: '' + value: (list(range(-26, -21)) + list(range(-20, -7)) + list(range(-6, 0)) + list(range(1, + 7)) + list(range(8, 21)) + list(range(22, 27)),) + states: + coordinate: [568, 76.0] + rotation: 0 + state: enabled +- name: packet_len + id: variable + parameters: + comment: '' + value: '96' + states: + coordinate: [1056, 12.0] + rotation: 0 + state: enabled +- name: packet_length_tag_key + id: variable + parameters: + comment: '' + value: '"packet_len"' + states: + coordinate: [1152, 12.0] + rotation: 0 + state: enabled +- name: payload_equalizer + id: variable + parameters: + comment: '' + value: digital.ofdm_equalizer_simpledfe(fft_len, payload_mod.base(), occupied_carriers, + pilot_carriers, pilot_symbols, 1) + states: + coordinate: [1136, 76.0] + rotation: 0 + state: enabled +- name: payload_mod + id: variable + parameters: + comment: '' + value: digital.constellation_qpsk() + states: + coordinate: [688, 12.0] + rotation: 0 + state: enabled +- name: pilot_carriers + id: variable + parameters: + comment: '' + value: ((-21, -7, 7, 21,),) + states: + coordinate: [720, 76.0] + rotation: 0 + state: enabled +- name: pilot_symbols + id: variable + parameters: + comment: '' + value: ((1, 1, 1, -1,),) + states: + coordinate: [840, 76.0] + rotation: 0 + state: enabled +- name: samp_rate + id: variable + parameters: + comment: '' + value: '10000' + states: + coordinate: [184, 76.0] + rotation: 0 + state: enabled +- name: sync_word1 + id: variable + parameters: + comment: '' + 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.]' + states: + coordinate: [272, 76.0] + rotation: 0 + state: enabled +- name: sync_word2 + id: variable + parameters: + comment: '' + 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]' + states: + coordinate: [416, 76.0] + rotation: 0 + state: enabled +- name: analog_frequency_modulator_fc_0 + id: analog_frequency_modulator_fc + parameters: + affinity: '' + alias: '' + comment: '' + maxoutbuf: '0' + minoutbuf: '0' + sensitivity: -2.0/fft_len + states: + coordinate: [912, 292.0] + rotation: 0 + state: enabled +- name: analog_random_source_x_0 + id: analog_random_source_x + parameters: + affinity: '' + alias: '' + comment: '' + max: '255' + maxoutbuf: '0' + min: '0' + minoutbuf: '0' + num_samps: '1000' + repeat: 'True' + type: byte + states: + coordinate: [16, 212.0] + rotation: 0 + state: enabled +- name: blocks_delay_0 + id: blocks_delay + parameters: + affinity: '' + alias: '' + comment: '' + delay: fft_len+fft_len//4 + maxoutbuf: '0' + minoutbuf: '0' + num_ports: '1' + type: complex + vlen: '1' + states: + coordinate: [688, 436.0] + rotation: 0 + state: enabled +- name: blocks_multiply_xx_0 + id: blocks_multiply_xx + parameters: + affinity: '' + alias: '' + comment: '' + maxoutbuf: '0' + minoutbuf: '0' + num_inputs: '2' + type: complex + vlen: '1' + states: + coordinate: [800, 408.0] + rotation: 0 + state: enabled +- name: blocks_repack_bits_bb_0 + id: blocks_repack_bits_bb + parameters: + affinity: '' + alias: '' + align_output: 'True' + comment: '' + endianness: gr.GR_LSB_FIRST + k: payload_mod.bits_per_symbol() + l: '8' + len_tag_key: packet_length_tag_key + maxoutbuf: '0' + minoutbuf: '0' + states: + coordinate: [432, 892.0] + rotation: 0 + state: enabled +- name: blocks_stream_to_tagged_stream_0 + id: blocks_stream_to_tagged_stream + parameters: + affinity: '' + alias: '' + comment: '' + len_tag_key: packet_length_tag_key + maxoutbuf: '0' + minoutbuf: '0' + packet_len: packet_len + type: byte + vlen: '1' + states: + coordinate: [176, 228.0] + rotation: 0 + state: enabled +- name: blocks_tag_debug_1 + id: blocks_tag_debug + parameters: + affinity: '' + alias: '' + comment: '' + display: 'True' + filter: '""' + name: Rx Bytes + num_inputs: '1' + type: byte + vlen: '1' + states: + coordinate: [864, 884.0] + rotation: 0 + state: enabled +- name: blocks_throttle_0 + id: blocks_throttle + parameters: + affinity: '' + alias: '' + comment: '' + ignoretag: 'True' + maxoutbuf: '0' + minoutbuf: '0' + samples_per_second: samp_rate + type: complex + vlen: '1' + states: + coordinate: [464, 484.0] + rotation: 0 + state: enabled +- name: channels_channel_model_0 + id: channels_channel_model + parameters: + affinity: '' + alias: '' + block_tags: 'True' + comment: '' + epsilon: '1.0' + freq_offset: 0 * 1.0/fft_len + maxoutbuf: '0' + minoutbuf: '0' + noise_voltage: '0.1' + seed: '0' + taps: '1.0' + states: + coordinate: [448, 372.0] + rotation: 180 + state: enabled +- name: digital_constellation_decoder_cb_0 + id: digital_constellation_decoder_cb + parameters: + affinity: '' + alias: '' + comment: '' + constellation: header_mod.base() + maxoutbuf: '0' + minoutbuf: '0' + states: + coordinate: [1072, 580.0] + rotation: 180 + state: enabled +- name: digital_constellation_decoder_cb_1 + id: digital_constellation_decoder_cb + parameters: + affinity: '' + alias: '' + comment: '' + constellation: payload_mod.base() + maxoutbuf: '0' + minoutbuf: '0' + states: + coordinate: [192, 900.0] + rotation: 0 + state: enabled +- name: digital_crc32_bb_0 + id: digital_crc32_bb + parameters: + affinity: '' + alias: '' + check: 'True' + comment: '' + lengthtagname: packet_length_tag_key + maxoutbuf: '0' + minoutbuf: '0' + packed: 'True' + states: + coordinate: [640, 884.0] + rotation: 0 + state: enabled +- name: digital_header_payload_demux_0 + id: digital_header_payload_demux + parameters: + affinity: '' + alias: '' + comment: '' + guard_interval: fft_len//4 + header_len: '3' + header_padding: '0' + items_per_symbol: fft_len + length_tag_key: length_tag_key + maxoutbuf: '0' + minoutbuf: '0' + output_symbols: 'True' + samp_rate: samp_rate + special_tags: () + timing_tag_key: '"rx_time"' + trigger_tag_key: '""' + type: complex + states: + coordinate: [1008, 388.0] + rotation: 0 + state: enabled +- name: digital_ofdm_chanest_vcvc_0 + id: digital_ofdm_chanest_vcvc + parameters: + affinity: '' + alias: '' + comment: '' + eq_noise_red_len: '0' + force_one_symbol: 'False' + max_carr_offset: '3' + maxoutbuf: '0' + minoutbuf: '0' + n_data_symbols: '1' + sync_symbol1: sync_word1 + sync_symbol2: sync_word2 + states: + coordinate: [432, 636.0] + rotation: 0 + state: enabled +- name: digital_ofdm_frame_equalizer_vcvc_0 + id: digital_ofdm_frame_equalizer_vcvc + parameters: + affinity: '' + alias: '' + comment: '' + cp_len: fft_len//4 + equalizer: header_equalizer.base() + fft_len: fft_len + fixed_frame_len: '1' + len_tag_key: length_tag_key + maxoutbuf: '0' + minoutbuf: '0' + propagate_channel_state: 'True' + states: + coordinate: [720, 628.0] + rotation: 0 + state: enabled +- name: digital_ofdm_frame_equalizer_vcvc_1 + id: digital_ofdm_frame_equalizer_vcvc + parameters: + affinity: '' + alias: '' + comment: '' + cp_len: fft_len//4 + equalizer: payload_equalizer.base() + fft_len: fft_len + fixed_frame_len: '0' + len_tag_key: length_tag_key + maxoutbuf: '0' + minoutbuf: '0' + propagate_channel_state: 'True' + states: + coordinate: [680, 764.0] + rotation: 0 + state: enabled +- name: digital_ofdm_serializer_vcc_header + id: digital_ofdm_serializer_vcc + parameters: + affinity: '' + alias: '' + carr_offset_key: '' + comment: '' + fft_len: fft_len + input_is_shifted: 'True' + len_tag_key: length_tag_key + maxoutbuf: '0' + minoutbuf: '0' + occupied_carriers: occupied_carriers + packet_len_tag_key: '' + symbols_skipped: '0' + states: + coordinate: [976, 652.0] + rotation: 0 + state: enabled +- name: digital_ofdm_serializer_vcc_payload + id: digital_ofdm_serializer_vcc + parameters: + affinity: '' + alias: '' + carr_offset_key: '' + comment: '' + fft_len: fft_len + input_is_shifted: 'True' + len_tag_key: length_tag_key + maxoutbuf: '0' + minoutbuf: '0' + occupied_carriers: occupied_carriers + packet_len_tag_key: packet_length_tag_key + symbols_skipped: '1' + states: + coordinate: [912, 764.0] + rotation: 0 + state: enabled +- name: digital_ofdm_sync_sc_cfb_0 + id: digital_ofdm_sync_sc_cfb + parameters: + affinity: '' + alias: '' + comment: '' + cp_len: fft_len//4 + fft_len: fft_len + maxoutbuf: '0' + minoutbuf: '0' + threshold: '0.9' + use_even_carriers: 'False' + states: + coordinate: [688, 292.0] + rotation: 0 + state: enabled +- name: digital_ofdm_tx_0 + id: digital_ofdm_tx + parameters: + affinity: '' + alias: '' + comment: '' + cp_len: fft_len//4 + fft_len: fft_len + header_mod: '"BPSK"' + log: 'True' + maxoutbuf: '0' + minoutbuf: '0' + occupied_carriers: occupied_carriers + packet_len_key: packet_length_tag_key + payload_mod: '"QPSK"' + pilot_carriers: pilot_carriers + pilot_symbols: pilot_symbols + rolloff: '0' + scramble_bits: 'False' + sync_word1: sync_word1 + sync_word2: sync_word2 + states: + coordinate: [400, 148.0] + rotation: 0 + state: enabled +- name: digital_packet_headerparser_b_0 + id: digital_packet_headerparser_b + parameters: + affinity: '' + alias: '' + comment: '' + header_formatter: header_formatter.base() + maxoutbuf: '0' + minoutbuf: '0' + states: + coordinate: [832, 580.0] + rotation: 180 + state: enabled +- name: fft_vxx_0 + id: fft_vxx + parameters: + affinity: '' + alias: '' + comment: '' + fft_size: fft_len + forward: 'True' + maxoutbuf: '0' + minoutbuf: '0' + nthreads: '1' + shift: 'True' + type: complex + window: () + states: + coordinate: [224, 636.0] + rotation: 0 + state: enabled +- name: fft_vxx_1 + id: fft_vxx + parameters: + affinity: '' + alias: '' + comment: '' + fft_size: fft_len + forward: 'True' + maxoutbuf: '0' + minoutbuf: '0' + nthreads: '1' + shift: 'True' + type: complex + window: () + states: + coordinate: [216, 764.0] + rotation: 0 + state: enabled +- name: import_1 + id: import + parameters: + alias: '' + comment: '' + imports: from gnuradio.digital.utils import tagged_streams + states: + coordinate: [184, 12.0] + rotation: 0 + state: enabled +- name: virtual_sink_0 + id: virtual_sink + parameters: + alias: '' + comment: '' + stream_id: Header Stream + states: + coordinate: [1328, 436.0] + rotation: 0 + state: enabled +- name: virtual_sink_1 + id: virtual_sink + parameters: + alias: '' + comment: '' + stream_id: Payload Stream + states: + coordinate: [1328, 484.0] + rotation: 0 + state: enabled +- name: virtual_sink_1_0 + id: virtual_sink + parameters: + alias: '' + comment: '' + stream_id: Payload IQ + states: + coordinate: [1152, 796.0] + rotation: 0 + state: enabled +- name: virtual_source_0 + id: virtual_source + parameters: + alias: '' + comment: '' + stream_id: Header Stream + states: + coordinate: [16, 668.0] + rotation: 0 + state: enabled +- name: virtual_source_0_0 + id: virtual_source + parameters: + alias: '' + comment: '' + stream_id: Payload IQ + states: + coordinate: [16, 900.0] + rotation: 0 + state: enabled +- name: virtual_source_1 + id: virtual_source + parameters: + alias: '' + comment: '' + stream_id: Payload Stream + states: + coordinate: [16, 796.0] + rotation: 0 + state: enabled + +connections: +- [analog_frequency_modulator_fc_0, '0', blocks_multiply_xx_0, '0'] +- [analog_random_source_x_0, '0', blocks_stream_to_tagged_stream_0, '0'] +- [blocks_delay_0, '0', blocks_multiply_xx_0, '1'] +- [blocks_multiply_xx_0, '0', digital_header_payload_demux_0, '0'] +- [blocks_repack_bits_bb_0, '0', digital_crc32_bb_0, '0'] +- [blocks_stream_to_tagged_stream_0, '0', digital_ofdm_tx_0, '0'] +- [blocks_throttle_0, '0', blocks_delay_0, '0'] +- [blocks_throttle_0, '0', digital_ofdm_sync_sc_cfb_0, '0'] +- [channels_channel_model_0, '0', blocks_throttle_0, '0'] +- [digital_constellation_decoder_cb_0, '0', digital_packet_headerparser_b_0, '0'] +- [digital_constellation_decoder_cb_1, '0', blocks_repack_bits_bb_0, '0'] +- [digital_crc32_bb_0, '0', blocks_tag_debug_1, '0'] +- [digital_header_payload_demux_0, '0', virtual_sink_0, '0'] +- [digital_header_payload_demux_0, '1', virtual_sink_1, '0'] +- [digital_ofdm_chanest_vcvc_0, '0', digital_ofdm_frame_equalizer_vcvc_0, '0'] +- [digital_ofdm_frame_equalizer_vcvc_0, '0', digital_ofdm_serializer_vcc_header, '0'] +- [digital_ofdm_frame_equalizer_vcvc_1, '0', digital_ofdm_serializer_vcc_payload, + '0'] +- [digital_ofdm_serializer_vcc_header, '0', digital_constellation_decoder_cb_0, '0'] +- [digital_ofdm_serializer_vcc_payload, '0', virtual_sink_1_0, '0'] +- [digital_ofdm_sync_sc_cfb_0, '0', analog_frequency_modulator_fc_0, '0'] +- [digital_ofdm_sync_sc_cfb_0, '1', digital_header_payload_demux_0, '1'] +- [digital_ofdm_tx_0, '0', channels_channel_model_0, '0'] +- [digital_packet_headerparser_b_0, header_data, digital_header_payload_demux_0, header_data] +- [fft_vxx_0, '0', digital_ofdm_chanest_vcvc_0, '0'] +- [fft_vxx_1, '0', digital_ofdm_frame_equalizer_vcvc_1, '0'] +- [virtual_source_0, '0', fft_vxx_0, '0'] +- [virtual_source_0_0, '0', digital_constellation_decoder_cb_1, '0'] +- [virtual_source_1, '0', fft_vxx_1, '0'] + +metadata: + file_format: 1 diff --git a/gr-digital/examples/ofdm/tx_ofdm.grc b/gr-digital/examples/ofdm/tx_ofdm.grc index 3c8aca2b69..4d68086dcc 100644 --- a/gr-digital/examples/ofdm/tx_ofdm.grc +++ b/gr-digital/examples/ofdm/tx_ofdm.grc @@ -1,2567 +1,762 @@ -<?xml version='1.0' encoding='utf-8'?> -<?grc format='1' created='3.7.10'?> -<flow_graph> - <timestamp>Wed Jul 9 15:49:47 2014</timestamp> - <block> - <key>options</key> - <param> - <key>author</key> - <value></value> - </param> - <param> - <key>window_size</key> - <value>1280, 1024</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 Transmitter</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>tx_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>run</value> - </param> - <param> - <key>run</key> - <value>True</value> - </param> - <param> - <key>thread_safe_setters</key> - <value></value> - </param> - <param> - <key>title</key> - <value>OFDM Tx</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>(181, -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>1</value> - </param> - <param> - <key>_coordinate</key> - <value>(720, 69)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>hdr_format</value> - </param> - <param> - <key>value</key> - <value>digital.header_format_ofdm(occupied_carriers, 1, length_tag_key,)</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>(567, 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>(352, 0)</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>"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>(320, 69)</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>(476, 0)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>packet_len</value> - </param> - <param> - <key>value</key> - <value>96</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>(734, 0)</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>(480, 69)</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>(608, 69)</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>1</value> - </param> - <param> - <key>_coordinate</key> - <value>(898, -1)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>rolloff</value> - </param> - <param> - <key>value</key> - <value>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>(255, 0)</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>(8, 93)</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>(152, 93)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>sync_word2</value> - </param> - <param> - <key>value</key> - <value>[0, 0, 0, 0, 0, 0, -1, -1, -1, -1, 1, 1, -1, -1, -1, 1, -1, 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, 1, -1, -1, 1, -1, 0, 1, -1, 1, 1, 1, -1, 1, 1, 1, -1, 1, 1, 1, 1, -1, 1, -1, -1, -1, 1, -1, 1, -1, -1, -1, -1, 0, 0, 0, 0, 0] </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>True</value> - </param> - <param> - <key>_coordinate</key> - <value>(16, 167)</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>1000</value> - </param> - <param> - <key>type</key> - <value>byte</value> - </param> - <param> - <key>repeat</key> - <value>True</value> - </param> - </block> - <block> - <key>blocks_multiply_const_vxx</key> - <param> - <key>alias</key> - <value></value> - </param> - <param> - <key>comment</key> - <value></value> - </param> - <param> - <key>const</key> - <value>0.05</value> - </param> - <param> - <key>affinity</key> - <value></value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>_coordinate</key> - <value>(208, 692)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>blocks_multiply_const_vxx_0</value> - </param> - <param> - <key>type</key> - <value>complex</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_repack_bits_bb</key> - <param> - <key>k</key> - <value>8</value> - </param> - <param> - <key>l</key> - <value>payload_mod.bits_per_symbol()</value> - </param> - <param> - <key>alias</key> - <value></value> - </param> - <param> - <key>comment</key> - <value></value> - </param> - <param> - <key>affinity</key> - <value></value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>endianness</key> - <value>gr.GR_LSB_FIRST</value> - </param> - <param> - <key>_coordinate</key> - <value>(664, 245)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>blocks_repack_bits_bb_0</value> - </param> - <param> - <key>len_tag_key</key> - <value>length_tag_key</value> - </param> - <param> - <key>maxoutbuf</key> - <value>0</value> - </param> - <param> - <key>minoutbuf</key> - <value>0</value> - </param> - <param> - <key>align_output</key> - <value>False</value> - </param> - </block> - <block> - <key>blocks_repack_bits_bb</key> - <param> - <key>k</key> - <value>8</value> - </param> - <param> - <key>l</key> - <value>1</value> - </param> - <param> - <key>alias</key> - <value></value> - </param> - <param> - <key>comment</key> - <value></value> - </param> - <param> - <key>affinity</key> - <value></value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>endianness</key> - <value>gr.GR_LSB_FIRST</value> - </param> - <param> - <key>_coordinate</key> - <value>(896, 157)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>blocks_repack_bits_bb_0_0</value> - </param> - <param> - <key>len_tag_key</key> - <value>length_tag_key</value> - </param> - <param> - <key>maxoutbuf</key> - <value>0</value> - </param> - <param> - <key>minoutbuf</key> - <value>0</value> - </param> - <param> - <key>align_output</key> - <value>False</value> - </param> - </block> - <block> - <key>blocks_stream_to_tagged_stream</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>(192, 181)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>blocks_stream_to_tagged_stream_0</value> - </param> - <param> - <key>len_tag_key</key> - <value>length_tag_key</value> - </param> - <param> - <key>maxoutbuf</key> - <value>0</value> - </param> - <param> - <key>minoutbuf</key> - <value>0</value> - </param> - <param> - <key>packet_len</key> - <value>packet_len</value> - </param> - <param> - <key>type</key> - <value>byte</value> - </param> - <param> - <key>vlen</key> - <value>1</value> - </param> - </block> - <block> - <key>blocks_tag_debug</key> - <param> - <key>alias</key> - <value></value> - </param> - <param> - <key>comment</key> - <value></value> - </param> - <param> - <key>affinity</key> - <value></value> - </param> - <param> - <key>display</key> - <value>True</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>_coordinate</key> - <value>(680, 822)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>blocks_tag_debug_0</value> - </param> - <param> - <key>type</key> - <value>byte</value> - </param> - <param> - <key>filter</key> - <value>""</value> - </param> - <param> - <key>name</key> - <value>Rx'd Packets</value> - </param> - <param> - <key>num_inputs</key> - <value>1</value> - </param> - <param> - <key>vlen</key> - <value>1</value> - </param> - </block> - <block> - <key>blocks_tag_gate</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>(376, 692)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>blocks_tag_gate_0</value> - </param> - <param> - <key>type</key> - <value>complex</value> - </param> - <param> - <key>maxoutbuf</key> - <value>0</value> - </param> - <param> - <key>minoutbuf</key> - <value>0</value> - </param> - <param> - <key>propagate_tags</key> - <value>False</value> - </param> - <param> - <key>vlen</key> - <value>1</value> - </param> - </block> - <block> - <key>blocks_tagged_stream_mux</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>(512, 369)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>blocks_tagged_stream_mux_0</value> - </param> - <param> - <key>type</key> - <value>complex</value> - </param> - <param> - <key>lengthtagname</key> - <value>length_tag_key</value> - </param> - <param> - <key>maxoutbuf</key> - <value>0</value> - </param> - <param> - <key>minoutbuf</key> - <value>0</value> - </param> - <param> - <key>ninputs</key> - <value>2</value> - </param> - <param> - <key>tag_preserve_head_pos</key> - <value>0</value> - </param> - <param> - <key>vlen</key> - <value>1</value> - </param> - </block> - <block> - <key>blocks_throttle</key> - <param> - <key>alias</key> - <value></value> - </param> - <param> - <key>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>(560, 692)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>blocks_throttle_0</value> - </param> - <param> - <key>ignoretag</key> - <value>True</value> - </param> - <param> - <key>maxoutbuf</key> - <value>0</value> - </param> - <param> - <key>minoutbuf</key> - <value>0</value> - </param> - <param> - <key>samples_per_second</key> - <value>samp_rate</value> - </param> - <param> - <key>type</key> - <value>complex</value> - </param> - <param> - <key>vlen</key> - <value>1</value> - </param> - </block> - <block> - <key>channels_channel_model</key> - <param> - <key>alias</key> - <value></value> - </param> - <param> - <key>block_tags</key> - <value>True</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>epsilon</key> - <value>1.0</value> - </param> - <param> - <key>freq_offset</key> - <value>0.0</value> - </param> - <param> - <key>_coordinate</key> - <value>(192, 801)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>channels_channel_model_0</value> - </param> - <param> - <key>maxoutbuf</key> - <value>0</value> - </param> - <param> - <key>minoutbuf</key> - <value>0</value> - </param> - <param> - <key>noise_voltage</key> - <value>0.0</value> - </param> - <param> - <key>seed</key> - <value>0</value> - </param> - <param> - <key>taps</key> - <value>1.0 + 1.0j</value> - </param> - </block> - <block> - <key>digital_chunks_to_symbols_xx</key> - <param> - <key>alias</key> - <value></value> - </param> - <param> - <key>comment</key> - <value></value> - </param> - <param> - <key>affinity</key> - <value></value> - </param> - <param> - <key>dimension</key> - <value>1</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>_coordinate</key> - <value>(216, 317)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>digital_chunks_to_symbols_xx_0</value> - </param> - <param> - <key>in_type</key> - <value>byte</value> - </param> - <param> - <key>maxoutbuf</key> - <value>0</value> - </param> - <param> - <key>minoutbuf</key> - <value>0</value> - </param> - <param> - <key>num_ports</key> - <value>1</value> - </param> - <param> - <key>out_type</key> - <value>complex</value> - </param> - <param> - <key>symbol_table</key> - <value>header_mod.points()</value> - </param> - </block> - <block> - <key>digital_chunks_to_symbols_xx</key> - <param> - <key>alias</key> - <value></value> - </param> - <param> - <key>comment</key> - <value></value> - </param> - <param> - <key>affinity</key> - <value></value> - </param> - <param> - <key>dimension</key> - <value>1</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>_coordinate</key> - <value>(216, 397)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>digital_chunks_to_symbols_xx_0_0</value> - </param> - <param> - <key>in_type</key> - <value>byte</value> - </param> - <param> - <key>maxoutbuf</key> - <value>0</value> - </param> - <param> - <key>minoutbuf</key> - <value>0</value> - </param> - <param> - <key>num_ports</key> - <value>1</value> - </param> - <param> - <key>out_type</key> - <value>complex</value> - </param> - <param> - <key>symbol_table</key> - <value>payload_mod.points()</value> - </param> - </block> - <block> - <key>digital_crc32_bb</key> - <param> - <key>alias</key> - <value></value> - </param> - <param> - <key>comment</key> - <value></value> - </param> - <param> - <key>affinity</key> - <value></value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>_coordinate</key> - <value>(432, 182)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>digital_crc32_bb_0</value> - </param> - <param> - <key>lengthtagname</key> - <value>length_tag_key</value> - </param> - <param> - <key>maxoutbuf</key> - <value>0</value> - </param> - <param> - <key>minoutbuf</key> - <value>0</value> - </param> - <param> - <key>check</key> - <value>False</value> - </param> - <param> - <key>packed</key> - <value>True</value> - </param> - </block> - <block> - <key>digital_ofdm_carrier_allocator_cvc</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>fft_len</key> - <value>fft_len</value> - </param> - <param> - <key>_coordinate</key> - <value>(192, 489)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>digital_ofdm_carrier_allocator_cvc_0</value> - </param> - <param> - <key>len_tag_key</key> - <value>length_tag_key</value> - </param> - <param> - <key>maxoutbuf</key> - <value>0</value> - </param> - <param> - <key>minoutbuf</key> - <value>0</value> - </param> - <param> - <key>occupied_carriers</key> - <value>occupied_carriers</value> - </param> - <param> - <key>pilot_carriers</key> - <value>pilot_carriers</value> - </param> - <param> - <key>pilot_symbols</key> - <value>pilot_symbols</value> - </param> - <param> - <key>sync_words</key> - <value>(sync_word1, sync_word2)</value> - </param> - </block> - <block> - <key>digital_ofdm_cyclic_prefixer</key> - <param> - <key>alias</key> - <value></value> - </param> - <param> - <key>cp_len</key> - <value>fft_len/4</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>input_size</key> - <value>fft_len</value> - </param> - <param> - <key>_coordinate</key> - <value>(632, 503)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>digital_ofdm_cyclic_prefixer_0</value> - </param> - <param> - <key>tagname</key> - <value>length_tag_key</value> - </param> - <param> - <key>maxoutbuf</key> - <value>0</value> - </param> - <param> - <key>minoutbuf</key> - <value>0</value> - </param> - <param> - <key>rolloff</key> - <value>rolloff</value> - </param> - </block> - <block> - <key>digital_ofdm_rx</key> - <param> - <key>alias</key> - <value></value> - </param> - <param> - <key>comment</key> - <value></value> - </param> - <param> - <key>affinity</key> - <value></value> - </param> - <param> - <key>cp_len</key> - <value>fft_len/4</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>fft_len</key> - <value>fft_len</value> - </param> - <param> - <key>_coordinate</key> - <value>(440, 766)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>header_mod</key> - <value>"BPSK"</value> - </param> - <param> - <key>id</key> - <value>digital_ofdm_rx_0</value> - </param> - <param> - <key>log</key> - <value>False</value> - </param> - <param> - <key>maxoutbuf</key> - <value>0</value> - </param> - <param> - <key>minoutbuf</key> - <value>0</value> - </param> - <param> - <key>occupied_carriers</key> - <value>occupied_carriers</value> - </param> - <param> - <key>packet_len_key</key> - <value>"length"</value> - </param> - <param> - <key>payload_mod</key> - <value>"QPSK"</value> - </param> - <param> - <key>pilot_carriers</key> - <value>pilot_carriers</value> - </param> - <param> - <key>pilot_symbols</key> - <value>pilot_symbols</value> - </param> - <param> - <key>scramble_bits</key> - <value>False</value> - </param> - <param> - <key>sync_word1</key> - <value>sync_word1</value> - </param> - <param> - <key>sync_word2</key> - <value>sync_word2</value> - </param> - </block> - <block> - <key>digital_protocol_formatter_bb</key> - <param> - <key>alias</key> - <value></value> - </param> - <param> - <key>comment</key> - <value></value> - </param> - <param> - <key>affinity</key> - <value></value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>format</key> - <value>hdr_format</value> - </param> - <param> - <key>_coordinate</key> - <value>(656, 157)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>digital_protocol_formatter_bb_0</value> - </param> - <param> - <key>len_tag_key</key> - <value>length_tag_key</value> - </param> - <param> - <key>maxoutbuf</key> - <value>0</value> - </param> - <param> - <key>minoutbuf</key> - <value>0</value> - </param> - </block> - <block> - <key>fft_vxx</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>fft_size</key> - <value>fft_len</value> - </param> - <param> - <key>forward</key> - <value>False</value> - </param> - <param> - <key>_coordinate</key> - <value>(416, 496)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>fft_vxx_0</value> - </param> - <param> - <key>type</key> - <value>complex</value> - </param> - <param> - <key>maxoutbuf</key> - <value>0</value> - </param> - <param> - <key>minoutbuf</key> - <value>0</value> - </param> - <param> - <key>nthreads</key> - <value>1</value> - </param> - <param> - <key>shift</key> - <value>True</value> - </param> - <param> - <key>window</key> - <value>()</value> - </param> - </block> - <block> - <key>virtual_sink</key> - <param> - <key>comment</key> - <value></value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>_coordinate</key> - <value>(1104, 164)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>header_bits</value> - </param> - <param> - <key>stream_id</key> - <value>Header Bits</value> - </param> - </block> - <block> - <key>qtgui_freq_sink_x</key> - <param> - <key>autoscale</key> - <value>True</value> - </param> - <param> - <key>average</key> - <value>1.0</value> - </param> - <param> - <key>axislabels</key> - <value>True</value> - </param> - <param> - <key>bw</key> - <value>samp_rate</value> - </param> - <param> - <key>alias</key> - <value></value> - </param> - <param> - <key>fc</key> - <value>0</value> - </param> - <param> - <key>comment</key> - <value></value> - </param> - <param> - <key>ctrlpanel</key> - <value>False</value> - </param> - <param> - <key>affinity</key> - <value></value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>fftsize</key> - <value>1024</value> - </param> - <param> - <key>_coordinate</key> - <value>(960, 759)</value> - </param> - <param> - <key>gui_hint</key> - <value></value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>grid</key> - <value>False</value> - </param> - <param> - <key>id</key> - <value>qtgui_freq_sink_x_0</value> - </param> - <param> - <key>legend</key> - <value>True</value> - </param> - <param> - <key>alpha1</key> - <value>1.0</value> - </param> - <param> - <key>color1</key> - <value>"blue"</value> - </param> - <param> - <key>label1</key> - <value></value> - </param> - <param> - <key>width1</key> - <value>1</value> - </param> - <param> - <key>alpha10</key> - <value>1.0</value> - </param> - <param> - <key>color10</key> - <value>"dark blue"</value> - </param> - <param> - <key>label10</key> - <value></value> - </param> - <param> - <key>width10</key> - <value>1</value> - </param> - <param> - <key>alpha2</key> - <value>1.0</value> - </param> - <param> - <key>color2</key> - <value>"red"</value> - </param> - <param> - <key>label2</key> - <value></value> - </param> - <param> - <key>width2</key> - <value>1</value> - </param> - <param> - <key>alpha3</key> - <value>1.0</value> - </param> - <param> - <key>color3</key> - <value>"green"</value> - </param> - <param> - <key>label3</key> - <value></value> - </param> - <param> - <key>width3</key> - <value>1</value> - </param> - <param> - <key>alpha4</key> - <value>1.0</value> - </param> - <param> - <key>color4</key> - <value>"black"</value> - </param> - <param> - <key>label4</key> - <value></value> - </param> - <param> - <key>width4</key> - <value>1</value> - </param> - <param> - <key>alpha5</key> - <value>1.0</value> - </param> - <param> - <key>color5</key> - <value>"cyan"</value> - </param> - <param> - <key>label5</key> - <value></value> - </param> - <param> - <key>width5</key> - <value>1</value> - </param> - <param> - <key>alpha6</key> - <value>1.0</value> - </param> - <param> - <key>color6</key> - <value>"magenta"</value> - </param> - <param> - <key>label6</key> - <value></value> - </param> - <param> - <key>width6</key> - <value>1</value> - </param> - <param> - <key>alpha7</key> - <value>1.0</value> - </param> - <param> - <key>color7</key> - <value>"yellow"</value> - </param> - <param> - <key>label7</key> - <value></value> - </param> - <param> - <key>width7</key> - <value>1</value> - </param> - <param> - <key>alpha8</key> - <value>1.0</value> - </param> - <param> - <key>color8</key> - <value>"dark red"</value> - </param> - <param> - <key>label8</key> - <value></value> - </param> - <param> - <key>width8</key> - <value>1</value> - </param> - <param> - <key>alpha9</key> - <value>1.0</value> - </param> - <param> - <key>color9</key> - <value>"dark green"</value> - </param> - <param> - <key>label9</key> - <value></value> - </param> - <param> - <key>width9</key> - <value>1</value> - </param> - <param> - <key>maxoutbuf</key> - <value>0</value> - </param> - <param> - <key>minoutbuf</key> - <value>0</value> - </param> - <param> - <key>name</key> - <value>FFT Plot</value> - </param> - <param> - <key>nconnections</key> - <value>1</value> - </param> - <param> - <key>showports</key> - <value>True</value> - </param> - <param> - <key>freqhalf</key> - <value>True</value> - </param> - <param> - <key>tr_chan</key> - <value>0</value> - </param> - <param> - <key>tr_level</key> - <value>0.0</value> - </param> - <param> - <key>tr_mode</key> - <value>qtgui.TRIG_MODE_FREE</value> - </param> - <param> - <key>tr_tag</key> - <value>""</value> - </param> - <param> - <key>type</key> - <value>complex</value> - </param> - <param> - <key>update_time</key> - <value>0.10</value> - </param> - <param> - <key>wintype</key> - <value>firdes.WIN_BLACKMAN_hARRIS</value> - </param> - <param> - <key>label</key> - <value>Relative Gain</value> - </param> - <param> - <key>ymax</key> - <value>10</value> - </param> - <param> - <key>ymin</key> - <value>-140</value> - </param> - <param> - <key>units</key> - <value>dB</value> - </param> - </block> - <block> - <key>qtgui_time_sink_x</key> - <param> - <key>autoscale</key> - <value>True</value> - </param> - <param> - <key>axislabels</key> - <value>True</value> - </param> - <param> - <key>alias</key> - <value></value> - </param> - <param> - <key>comment</key> - <value></value> - </param> - <param> - <key>ctrlpanel</key> - <value>False</value> - </param> - <param> - <key>affinity</key> - <value></value> - </param> - <param> - <key>entags</key> - <value>True</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>_coordinate</key> - <value>(960, 671)</value> - </param> - <param> - <key>gui_hint</key> - <value></value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>grid</key> - <value>False</value> - </param> - <param> - <key>id</key> - <value>qtgui_time_sink_x_0</value> - </param> - <param> - <key>legend</key> - <value>True</value> - </param> - <param> - <key>alpha1</key> - <value>1.0</value> - </param> - <param> - <key>color1</key> - <value>"blue"</value> - </param> - <param> - <key>label1</key> - <value>Scope Plot</value> - </param> - <param> - <key>marker1</key> - <value>-1</value> - </param> - <param> - <key>style1</key> - <value>1</value> - </param> - <param> - <key>width1</key> - <value>1</value> - </param> - <param> - <key>alpha10</key> - <value>1.0</value> - </param> - <param> - <key>color10</key> - <value>"blue"</value> - </param> - <param> - <key>label10</key> - <value></value> - </param> - <param> - <key>marker10</key> - <value>-1</value> - </param> - <param> - <key>style10</key> - <value>1</value> - </param> - <param> - <key>width10</key> - <value>1</value> - </param> - <param> - <key>alpha2</key> - <value>1.0</value> - </param> - <param> - <key>color2</key> - <value>"red"</value> - </param> - <param> - <key>label2</key> - <value></value> - </param> - <param> - <key>marker2</key> - <value>-1</value> - </param> - <param> - <key>style2</key> - <value>1</value> - </param> - <param> - <key>width2</key> - <value>1</value> - </param> - <param> - <key>alpha3</key> - <value>1.0</value> - </param> - <param> - <key>color3</key> - <value>"green"</value> - </param> - <param> - <key>label3</key> - <value></value> - </param> - <param> - <key>marker3</key> - <value>-1</value> - </param> - <param> - <key>style3</key> - <value>1</value> - </param> - <param> - <key>width3</key> - <value>1</value> - </param> - <param> - <key>alpha4</key> - <value>1.0</value> - </param> - <param> - <key>color4</key> - <value>"black"</value> - </param> - <param> - <key>label4</key> - <value></value> - </param> - <param> - <key>marker4</key> - <value>-1</value> - </param> - <param> - <key>style4</key> - <value>1</value> - </param> - <param> - <key>width4</key> - <value>1</value> - </param> - <param> - <key>alpha5</key> - <value>1.0</value> - </param> - <param> - <key>color5</key> - <value>"cyan"</value> - </param> - <param> - <key>label5</key> - <value></value> - </param> - <param> - <key>marker5</key> - <value>-1</value> - </param> - <param> - <key>style5</key> - <value>1</value> - </param> - <param> - <key>width5</key> - <value>1</value> - </param> - <param> - <key>alpha6</key> - <value>1.0</value> - </param> - <param> - <key>color6</key> - <value>"magenta"</value> - </param> - <param> - <key>label6</key> - <value></value> - </param> - <param> - <key>marker6</key> - <value>-1</value> - </param> - <param> - <key>style6</key> - <value>1</value> - </param> - <param> - <key>width6</key> - <value>1</value> - </param> - <param> - <key>alpha7</key> - <value>1.0</value> - </param> - <param> - <key>color7</key> - <value>"yellow"</value> - </param> - <param> - <key>label7</key> - <value></value> - </param> - <param> - <key>marker7</key> - <value>-1</value> - </param> - <param> - <key>style7</key> - <value>1</value> - </param> - <param> - <key>width7</key> - <value>1</value> - </param> - <param> - <key>alpha8</key> - <value>1.0</value> - </param> - <param> - <key>color8</key> - <value>"dark red"</value> - </param> - <param> - <key>label8</key> - <value></value> - </param> - <param> - <key>marker8</key> - <value>-1</value> - </param> - <param> - <key>style8</key> - <value>1</value> - </param> - <param> - <key>width8</key> - <value>1</value> - </param> - <param> - <key>alpha9</key> - <value>1.0</value> - </param> - <param> - <key>color9</key> - <value>"dark green"</value> - </param> - <param> - <key>label9</key> - <value></value> - </param> - <param> - <key>marker9</key> - <value>-1</value> - </param> - <param> - <key>style9</key> - <value>1</value> - </param> - <param> - <key>width9</key> - <value>1</value> - </param> - <param> - <key>name</key> - <value>Scope Plot</value> - </param> - <param> - <key>nconnections</key> - <value>1</value> - </param> - <param> - <key>size</key> - <value>1024</value> - </param> - <param> - <key>srate</key> - <value>samp_rate</value> - </param> - <param> - <key>tr_chan</key> - <value>0</value> - </param> - <param> - <key>tr_delay</key> - <value>0</value> - </param> - <param> - <key>tr_level</key> - <value>0.0</value> - </param> - <param> - <key>tr_mode</key> - <value>qtgui.TRIG_MODE_FREE</value> - </param> - <param> - <key>tr_slope</key> - <value>qtgui.TRIG_SLOPE_POS</value> - </param> - <param> - <key>tr_tag</key> - <value>""</value> - </param> - <param> - <key>type</key> - <value>complex</value> - </param> - <param> - <key>update_time</key> - <value>0.10</value> - </param> - <param> - <key>ylabel</key> - <value>Amplitude</value> - </param> - <param> - <key>yunit</key> - <value>""</value> - </param> - <param> - <key>ymax</key> - <value>1</value> - </param> - <param> - <key>ymin</key> - <value>-1</value> - </param> - </block> - <block> - <key>virtual_sink</key> - <param> - <key>comment</key> - <value></value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>_coordinate</key> - <value>(856, 524)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>virtual_sink_0</value> - </param> - <param> - <key>stream_id</key> - <value>Time Domain</value> - </param> - </block> - <block> - <key>virtual_sink</key> - <param> - <key>comment</key> - <value></value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>_coordinate</key> - <value>(856, 252)</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>Payload Bits</value> - </param> - </block> - <block> - <key>virtual_sink</key> - <param> - <key>comment</key> - <value></value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>_coordinate</key> - <value>(744, 388)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>virtual_sink_0_0_0</value> - </param> - <param> - <key>stream_id</key> - <value>Pre-OFDM</value> - </param> - </block> - <block> - <key>virtual_sink</key> - <param> - <key>comment</key> - <value></value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>_coordinate</key> - <value>(960, 620)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>virtual_sink_1</value> - </param> - <param> - <key>stream_id</key> - <value>Tx Signal</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>(0, 324)</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>Header Bits</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>(0, 404)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>virtual_source_0_0</value> - </param> - <param> - <key>stream_id</key> - <value>Payload Bits</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>(0, 524)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>virtual_source_0_0_0</value> - </param> - <param> - <key>stream_id</key> - <value>Pre-OFDM</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>(0, 692)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>virtual_source_0_0_0_0</value> - </param> - <param> - <key>stream_id</key> - <value>Time Domain</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>(0, 836)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>virtual_source_1</value> - </param> - <param> - <key>stream_id</key> - <value>Tx Signal</value> - </param> - </block> - <connection> - <source_block_id>analog_random_source_x_0</source_block_id> - <sink_block_id>blocks_stream_to_tagged_stream_0</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>blocks_multiply_const_vxx_0</source_block_id> - <sink_block_id>blocks_tag_gate_0</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>blocks_repack_bits_bb_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>blocks_repack_bits_bb_0_0</source_block_id> - <sink_block_id>header_bits</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>blocks_stream_to_tagged_stream_0</source_block_id> - <sink_block_id>digital_crc32_bb_0</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>blocks_tag_gate_0</source_block_id> - <sink_block_id>blocks_throttle_0</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>blocks_tagged_stream_mux_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_throttle_0</source_block_id> - <sink_block_id>qtgui_freq_sink_x_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>qtgui_time_sink_x_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>virtual_sink_1</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>channels_channel_model_0</source_block_id> - <sink_block_id>digital_ofdm_rx_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>blocks_tagged_stream_mux_0</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>digital_chunks_to_symbols_xx_0_0</source_block_id> - <sink_block_id>blocks_tagged_stream_mux_0</sink_block_id> - <source_key>0</source_key> - <sink_key>1</sink_key> - </connection> - <connection> - <source_block_id>digital_crc32_bb_0</source_block_id> - <sink_block_id>blocks_repack_bits_bb_0</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>digital_crc32_bb_0</source_block_id> - <sink_block_id>digital_protocol_formatter_bb_0</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>digital_ofdm_carrier_allocator_cvc_0</source_block_id> - <sink_block_id>fft_vxx_0</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>digital_ofdm_cyclic_prefixer_0</source_block_id> - <sink_block_id>virtual_sink_0</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>digital_ofdm_rx_0</source_block_id> - <sink_block_id>blocks_tag_debug_0</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>digital_protocol_formatter_bb_0</source_block_id> - <sink_block_id>blocks_repack_bits_bb_0_0</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>fft_vxx_0</source_block_id> - <sink_block_id>digital_ofdm_cyclic_prefixer_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>digital_chunks_to_symbols_xx_0</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>virtual_source_0_0</source_block_id> - <sink_block_id>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>virtual_source_0_0_0</source_block_id> - <sink_block_id>digital_ofdm_carrier_allocator_cvc_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>blocks_multiply_const_vxx_0</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>virtual_source_1</source_block_id> - <sink_block_id>channels_channel_model_0</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> -</flow_graph> +options: + parameters: + author: '' + category: Custom + cmake_opt: '' + comment: '' + copyright: '' + description: Example of an OFDM Transmitter + gen_cmake: 'On' + gen_linking: dynamic + generate_options: qt_gui + hier_block_src_path: '.:' + id: tx_ofdm + max_nouts: '0' + output_language: python + placement: (0,0) + qt_qss_theme: '' + realtime_scheduling: '' + run: 'True' + run_command: '{python} -u {filename}' + run_options: run + sizing_mode: fixed + thread_safe_setters: '' + title: OFDM Tx + window_size: 1280, 1024 + states: + coordinate: [16, 12.0] + rotation: 0 + state: enabled + +blocks: +- name: fft_len + id: variable + parameters: + comment: '' + value: '64' + states: + coordinate: [208, 12.0] + rotation: 0 + state: enabled +- name: hdr_format + id: variable + parameters: + comment: '' + value: digital.header_format_ofdm(occupied_carriers, 1, length_tag_key,) + states: + coordinate: [912, 68.0] + rotation: 0 + state: enabled +- name: header_mod + id: variable + parameters: + comment: '' + value: digital.constellation_bpsk() + states: + coordinate: [592, 12.0] + rotation: 0 + state: enabled +- name: length_tag_key + id: variable + parameters: + comment: '' + value: '"packet_len"' + states: + coordinate: [368, 12.0] + rotation: 0 + state: enabled +- name: occupied_carriers + id: variable + parameters: + comment: '' + value: (list(range(-26, -21)) + list(range(-20, -7)) + list(range(-6, 0)) + list(range(1, + 7)) + list(range(8, 21)) + list(range(22, 27)),) + states: + coordinate: [512, 68.0] + rotation: 0 + state: enabled +- name: packet_len + id: variable + parameters: + comment: '' + value: '96' + states: + coordinate: [496, 12.0] + rotation: 0 + state: enabled +- name: payload_mod + id: variable + parameters: + comment: '' + value: digital.constellation_qpsk() + states: + coordinate: [752, 12.0] + rotation: 0 + state: enabled +- name: pilot_carriers + id: variable + parameters: + comment: '' + value: ((-21, -7, 7, 21,),) + states: + coordinate: [672, 68.0] + rotation: 0 + state: enabled +- name: pilot_symbols + id: variable + parameters: + comment: '' + value: ((1, 1, 1, -1,),) + states: + coordinate: [800, 68.0] + rotation: 0 + state: enabled +- name: rolloff + id: variable + parameters: + comment: '' + value: '0' + states: + coordinate: [912, 12.0] + rotation: 0 + state: enabled +- name: samp_rate + id: variable + parameters: + comment: '' + value: '50000' + states: + coordinate: [272, 12.0] + rotation: 0 + state: enabled +- name: sync_word1 + id: variable + parameters: + comment: '' + 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.]' + states: + coordinate: [208, 68.0] + rotation: 0 + state: enabled +- name: sync_word2 + id: variable + parameters: + comment: '' + value: '[0, 0, 0, 0, 0, 0, -1, -1, -1, -1, 1, 1, -1, -1, -1, 1, -1, 1, 1, 1, 1, + 1, -1, -1, -1, -1, -1, 1, -1, -1, 1, -1, 0, 1, -1, 1, 1, 1, -1, 1, 1, 1, -1, + 1, 1, 1, 1, -1, 1, -1, -1, -1, 1, -1, 1, -1, -1, -1, -1, 0, 0, 0, 0, 0] ' + states: + coordinate: [336, 68.0] + rotation: 0 + state: enabled +- name: analog_random_source_x_0 + id: analog_random_source_x + parameters: + affinity: '' + alias: '' + comment: '' + max: '255' + maxoutbuf: '0' + min: '0' + minoutbuf: '0' + num_samps: '1000' + repeat: 'True' + type: byte + states: + coordinate: [16, 164.0] + rotation: 0 + state: enabled +- name: blocks_multiply_const_vxx_0 + id: blocks_multiply_const_vxx + parameters: + affinity: '' + alias: '' + comment: '' + const: '0.05' + maxoutbuf: '0' + minoutbuf: '0' + type: complex + vlen: '1' + states: + coordinate: [200, 692.0] + rotation: 0 + state: enabled +- name: blocks_repack_bits_bb_0 + id: blocks_repack_bits_bb + parameters: + affinity: '' + alias: '' + align_output: 'False' + comment: '' + endianness: gr.GR_LSB_FIRST + k: '8' + l: payload_mod.bits_per_symbol() + len_tag_key: length_tag_key + maxoutbuf: '0' + minoutbuf: '0' + states: + coordinate: [640, 244.0] + rotation: 0 + state: enabled +- name: blocks_repack_bits_bb_0_0 + id: blocks_repack_bits_bb + parameters: + affinity: '' + alias: '' + align_output: 'False' + comment: '' + endianness: gr.GR_LSB_FIRST + k: '8' + l: '1' + len_tag_key: length_tag_key + maxoutbuf: '0' + minoutbuf: '0' + states: + coordinate: [880, 180.0] + rotation: 0 + state: enabled +- name: blocks_stream_to_tagged_stream_0 + id: blocks_stream_to_tagged_stream + parameters: + affinity: '' + alias: '' + comment: '' + len_tag_key: length_tag_key + maxoutbuf: '0' + minoutbuf: '0' + packet_len: packet_len + type: byte + vlen: '1' + states: + coordinate: [176, 180.0] + rotation: 0 + state: enabled +- name: blocks_tag_debug_0 + id: blocks_tag_debug + parameters: + affinity: '' + alias: '' + comment: '' + display: 'False' + filter: '""' + name: Rx'd Packets + num_inputs: '1' + type: byte + vlen: '1' + states: + coordinate: [712, 828.0] + rotation: 0 + state: enabled +- name: blocks_tag_gate_0 + id: blocks_tag_gate + parameters: + affinity: '' + alias: '' + comment: '' + maxoutbuf: '0' + minoutbuf: '0' + propagate_tags: 'False' + single_key: '""' + type: complex + vlen: '1' + states: + coordinate: [360, 684.0] + rotation: 0 + state: enabled +- name: blocks_tagged_stream_mux_0 + id: blocks_tagged_stream_mux + parameters: + affinity: '' + alias: '' + comment: '' + lengthtagname: length_tag_key + maxoutbuf: '0' + minoutbuf: '0' + ninputs: '2' + tag_preserve_head_pos: '0' + type: complex + vlen: '1' + states: + coordinate: [512, 360.0] + rotation: 0 + state: enabled +- name: blocks_throttle_0 + id: blocks_throttle + parameters: + affinity: '' + alias: '' + comment: '' + ignoretag: 'True' + maxoutbuf: '0' + minoutbuf: '0' + samples_per_second: samp_rate + type: complex + vlen: '1' + states: + coordinate: [552, 692.0] + rotation: 0 + state: enabled +- name: channels_channel_model_0 + id: channels_channel_model + parameters: + affinity: '' + alias: '' + block_tags: 'True' + comment: '' + epsilon: '1.0' + freq_offset: '0.0' + maxoutbuf: '0' + minoutbuf: '0' + noise_voltage: '0.0' + seed: '0' + taps: 1.0 + 1.0j + states: + coordinate: [200, 812.0] + rotation: 0 + state: enabled +- name: digital_chunks_to_symbols_xx_0 + id: digital_chunks_to_symbols_xx + parameters: + affinity: '' + alias: '' + comment: '' + dimension: '1' + in_type: byte + maxoutbuf: '0' + minoutbuf: '0' + num_ports: '1' + out_type: complex + symbol_table: header_mod.points() + states: + coordinate: [216, 320.0] + rotation: 0 + state: enabled +- name: digital_chunks_to_symbols_xx_0_0 + id: digital_chunks_to_symbols_xx + parameters: + affinity: '' + alias: '' + comment: '' + dimension: '1' + in_type: byte + maxoutbuf: '0' + minoutbuf: '0' + num_ports: '1' + out_type: complex + symbol_table: payload_mod.points() + states: + coordinate: [216, 392.0] + rotation: 0 + state: enabled +- name: digital_crc32_bb_0 + id: digital_crc32_bb + parameters: + affinity: '' + alias: '' + check: 'False' + comment: '' + lengthtagname: length_tag_key + maxoutbuf: '0' + minoutbuf: '0' + packed: 'True' + states: + coordinate: [384, 172.0] + rotation: 0 + state: enabled +- name: digital_ofdm_carrier_allocator_cvc_0 + id: digital_ofdm_carrier_allocator_cvc + parameters: + affinity: '' + alias: '' + comment: '' + fft_len: fft_len + len_tag_key: length_tag_key + maxoutbuf: '0' + minoutbuf: '0' + occupied_carriers: occupied_carriers + output_is_shifted: 'True' + pilot_carriers: pilot_carriers + pilot_symbols: pilot_symbols + sync_words: (sync_word1, sync_word2) + states: + coordinate: [200, 476.0] + rotation: 0 + state: enabled +- name: digital_ofdm_cyclic_prefixer_0 + id: digital_ofdm_cyclic_prefixer + parameters: + affinity: '' + alias: '' + comment: '' + cp_len: fft_len//4 + input_size: fft_len + maxoutbuf: '0' + minoutbuf: '0' + rolloff: rolloff + tagname: length_tag_key + states: + coordinate: [624, 508.0] + rotation: 0 + state: enabled +- name: digital_ofdm_rx_0 + id: digital_ofdm_rx + parameters: + affinity: '' + alias: '' + comment: '' + cp_len: fft_len//4 + fft_len: fft_len + header_mod: '"BPSK"' + log: 'False' + maxoutbuf: '0' + minoutbuf: '0' + occupied_carriers: occupied_carriers + packet_len_key: '"length"' + payload_mod: '"QPSK"' + pilot_carriers: pilot_carriers + pilot_symbols: pilot_symbols + scramble_bits: 'False' + sync_word1: sync_word1 + sync_word2: sync_word2 + states: + coordinate: [440, 764.0] + rotation: 0 + state: enabled +- name: digital_protocol_formatter_bb_0 + id: digital_protocol_formatter_bb + parameters: + affinity: '' + alias: '' + comment: '' + format: hdr_format + len_tag_key: length_tag_key + maxoutbuf: '0' + minoutbuf: '0' + states: + coordinate: [640, 180.0] + rotation: 0 + state: enabled +- name: fft_vxx_0 + id: fft_vxx + parameters: + affinity: '' + alias: '' + comment: '' + fft_size: fft_len + forward: 'False' + maxoutbuf: '0' + minoutbuf: '0' + nthreads: '1' + shift: 'True' + type: complex + window: () + states: + coordinate: [416, 492.0] + rotation: 0 + state: enabled +- name: header_bits + id: virtual_sink + parameters: + alias: '' + comment: '' + stream_id: Header Bits + states: + coordinate: [1088, 188.0] + rotation: 0 + state: enabled +- name: qtgui_freq_sink_x_0 + id: qtgui_freq_sink_x + parameters: + affinity: '' + alias: '' + alpha1: '1.0' + alpha10: '1.0' + alpha2: '1.0' + alpha3: '1.0' + alpha4: '1.0' + alpha5: '1.0' + alpha6: '1.0' + alpha7: '1.0' + alpha8: '1.0' + alpha9: '1.0' + autoscale: 'True' + average: '1.0' + axislabels: 'True' + bw: samp_rate + color1: '"blue"' + color10: '"dark blue"' + color2: '"red"' + color3: '"green"' + color4: '"black"' + color5: '"cyan"' + color6: '"magenta"' + color7: '"yellow"' + color8: '"dark red"' + color9: '"dark green"' + comment: '' + ctrlpanel: 'False' + fc: '0' + fftsize: '1024' + freqhalf: 'True' + grid: 'False' + gui_hint: '' + label: Relative Gain + label1: '' + label10: '' + label2: '' + label3: '' + label4: '' + label5: '' + label6: '' + label7: '' + label8: '' + label9: '' + legend: 'True' + maxoutbuf: '0' + minoutbuf: '0' + name: FFT Plot + nconnections: '1' + showports: 'True' + tr_chan: '0' + tr_level: '0.0' + tr_mode: qtgui.TRIG_MODE_FREE + tr_tag: '""' + type: complex + units: dB + update_time: '0.10' + width1: '1' + width10: '1' + width2: '1' + width3: '1' + width4: '1' + width5: '1' + width6: '1' + width7: '1' + width8: '1' + width9: '1' + wintype: firdes.WIN_BLACKMAN_hARRIS + ymax: '10' + ymin: '-140' + states: + coordinate: [960, 756.0] + rotation: 0 + state: enabled +- name: qtgui_time_sink_x_0 + id: qtgui_time_sink_x + parameters: + affinity: '' + alias: '' + alpha1: '1.0' + alpha10: '1.0' + alpha2: '1.0' + alpha3: '1.0' + alpha4: '1.0' + alpha5: '1.0' + alpha6: '1.0' + alpha7: '1.0' + alpha8: '1.0' + alpha9: '1.0' + autoscale: 'True' + axislabels: 'True' + color1: '"blue"' + color10: '"blue"' + color2: '"red"' + color3: '"green"' + color4: '"black"' + color5: '"cyan"' + color6: '"magenta"' + color7: '"yellow"' + color8: '"dark red"' + color9: '"dark green"' + comment: '' + ctrlpanel: 'False' + entags: 'True' + grid: 'False' + gui_hint: '' + label1: Scope Plot + label10: '' + label2: '' + label3: '' + label4: '' + label5: '' + label6: '' + label7: '' + label8: '' + label9: '' + legend: 'True' + marker1: '-1' + marker10: '-1' + marker2: '-1' + marker3: '-1' + marker4: '-1' + marker5: '-1' + marker6: '-1' + marker7: '-1' + marker8: '-1' + marker9: '-1' + name: Scope Plot + nconnections: '1' + size: '1024' + srate: samp_rate + stemplot: 'False' + style1: '1' + style10: '1' + style2: '1' + style3: '1' + style4: '1' + style5: '1' + style6: '1' + style7: '1' + style8: '1' + style9: '1' + tr_chan: '0' + tr_delay: '0' + tr_level: '0.0' + tr_mode: qtgui.TRIG_MODE_FREE + tr_slope: qtgui.TRIG_SLOPE_POS + tr_tag: '""' + type: complex + update_time: '0.10' + width1: '1' + width10: '1' + width2: '1' + width3: '1' + width4: '1' + width5: '1' + width6: '1' + width7: '1' + width8: '1' + width9: '1' + ylabel: Amplitude + ymax: '1' + ymin: '-1' + yunit: '""' + states: + coordinate: [960, 668.0] + rotation: 0 + state: enabled +- name: virtual_sink_0 + id: virtual_sink + parameters: + alias: '' + comment: '' + stream_id: Time Domain + states: + coordinate: [856, 524] + rotation: 0 + state: enabled +- name: virtual_sink_0_0 + id: virtual_sink + parameters: + alias: '' + comment: '' + stream_id: Payload Bits + states: + coordinate: [832, 252.0] + rotation: 0 + state: enabled +- name: virtual_sink_0_0_0 + id: virtual_sink + parameters: + alias: '' + comment: '' + stream_id: Pre-OFDM + states: + coordinate: [744, 372.0] + rotation: 0 + state: enabled +- name: virtual_sink_1 + id: virtual_sink + parameters: + alias: '' + comment: '' + stream_id: Tx Signal + states: + coordinate: [960, 620.0] + rotation: 0 + state: enabled +- name: virtual_source_0 + id: virtual_source + parameters: + alias: '' + comment: '' + stream_id: Header Bits + states: + coordinate: [8, 316.0] + rotation: 0 + state: enabled +- name: virtual_source_0_0 + id: virtual_source + parameters: + alias: '' + comment: '' + stream_id: Payload Bits + states: + coordinate: [8, 388.0] + rotation: 0 + state: enabled +- name: virtual_source_0_0_0 + id: virtual_source + parameters: + alias: '' + comment: '' + stream_id: Pre-OFDM + states: + coordinate: [8, 524.0] + rotation: 0 + state: enabled +- name: virtual_source_0_0_0_0 + id: virtual_source + parameters: + alias: '' + comment: '' + stream_id: Time Domain + states: + coordinate: [8, 692.0] + rotation: 0 + state: enabled +- name: virtual_source_1 + id: virtual_source + parameters: + alias: '' + comment: '' + stream_id: Tx Signal + states: + coordinate: [8, 844.0] + rotation: 0 + state: enabled + +connections: +- [analog_random_source_x_0, '0', blocks_stream_to_tagged_stream_0, '0'] +- [blocks_multiply_const_vxx_0, '0', blocks_tag_gate_0, '0'] +- [blocks_repack_bits_bb_0, '0', virtual_sink_0_0, '0'] +- [blocks_repack_bits_bb_0_0, '0', header_bits, '0'] +- [blocks_stream_to_tagged_stream_0, '0', digital_crc32_bb_0, '0'] +- [blocks_tag_gate_0, '0', blocks_throttle_0, '0'] +- [blocks_tagged_stream_mux_0, '0', virtual_sink_0_0_0, '0'] +- [blocks_throttle_0, '0', qtgui_freq_sink_x_0, '0'] +- [blocks_throttle_0, '0', qtgui_time_sink_x_0, '0'] +- [blocks_throttle_0, '0', virtual_sink_1, '0'] +- [channels_channel_model_0, '0', digital_ofdm_rx_0, '0'] +- [digital_chunks_to_symbols_xx_0, '0', blocks_tagged_stream_mux_0, '0'] +- [digital_chunks_to_symbols_xx_0_0, '0', blocks_tagged_stream_mux_0, '1'] +- [digital_crc32_bb_0, '0', blocks_repack_bits_bb_0, '0'] +- [digital_crc32_bb_0, '0', digital_protocol_formatter_bb_0, '0'] +- [digital_ofdm_carrier_allocator_cvc_0, '0', fft_vxx_0, '0'] +- [digital_ofdm_cyclic_prefixer_0, '0', virtual_sink_0, '0'] +- [digital_ofdm_rx_0, '0', blocks_tag_debug_0, '0'] +- [digital_protocol_formatter_bb_0, '0', blocks_repack_bits_bb_0_0, '0'] +- [fft_vxx_0, '0', digital_ofdm_cyclic_prefixer_0, '0'] +- [virtual_source_0, '0', digital_chunks_to_symbols_xx_0, '0'] +- [virtual_source_0_0, '0', digital_chunks_to_symbols_xx_0_0, '0'] +- [virtual_source_0_0_0, '0', digital_ofdm_carrier_allocator_cvc_0, '0'] +- [virtual_source_0_0_0_0, '0', blocks_multiply_const_vxx_0, '0'] +- [virtual_source_1, '0', channels_channel_model_0, '0'] + +metadata: + file_format: 1 diff --git a/gr-digital/grc/digital_header_payload_demux.block.yml b/gr-digital/grc/digital_header_payload_demux.block.yml index 8cccb65862..eae4b16e3b 100644 --- a/gr-digital/grc/digital_header_payload_demux.block.yml +++ b/gr-digital/grc/digital_header_payload_demux.block.yml @@ -12,7 +12,7 @@ parameters: - id: items_per_symbol label: Items per symbol dtype: int - hide: ${ 'part' if vlen == 1 else 'none' } + hide: ${ 'none' if output_symbols else 'part' } - id: guard_interval label: Guard Interval (items) dtype: int @@ -32,7 +32,7 @@ parameters: dtype: enum options: ['False', 'True'] option_labels: [Items, Symbols] - hide: ${ 'part' if vlen == 1 else 'none' } + hide: ${ 'none' if output_symbols else 'part' } - id: type label: IO Type dtype: enum @@ -68,11 +68,11 @@ outputs: - label: out_hdr domain: stream dtype: ${ type } - vlen: '${ {True: items_per_symbol, False: 1}[output_symbols] }' + vlen: '${ items_per_symbol if output_symbols else 1 }' - label: out_payload domain: stream dtype: ${ type } - vlen: '${ {True: items_per_symbol, False: 1}[output_symbols] }' + vlen: '${ items_per_symbol if output_symbols else 1 }' templates: imports: from gnuradio import digital diff --git a/gr-digital/grc/digital_ofdm_carrier_allocator_cvc.block.yml b/gr-digital/grc/digital_ofdm_carrier_allocator_cvc.block.yml index 75e4daaeb8..e43a49f5ab 100644 --- a/gr-digital/grc/digital_ofdm_carrier_allocator_cvc.block.yml +++ b/gr-digital/grc/digital_ofdm_carrier_allocator_cvc.block.yml @@ -6,7 +6,7 @@ parameters: label: FFT length dtype: int default: fft_len - hide: ${ 'part' if vlen == 1 else 'none' } + hide: ${ 'part' if fft_len == 1 else 'none' } - id: occupied_carriers label: Occupied Carriers dtype: raw diff --git a/gr-digital/grc/digital_ofdm_chanest_vcvc.block.yml b/gr-digital/grc/digital_ofdm_chanest_vcvc.block.yml index 352c6ab5a7..849cac6d08 100644 --- a/gr-digital/grc/digital_ofdm_chanest_vcvc.block.yml +++ b/gr-digital/grc/digital_ofdm_chanest_vcvc.block.yml @@ -5,7 +5,7 @@ parameters: - id: sync_symbol1 label: Synch. symbol 1 dtype: complex_vector - hide: ${ 'part' if vlen == 1 else 'none' } + hide: ${ 'part' if len(sync_symbol1) == 1 else 'none' } - id: sync_symbol2 label: Synch. symbol 2 dtype: complex_vector diff --git a/gr-digital/grc/digital_ofdm_frame_equalizer_vcvc.block.yml b/gr-digital/grc/digital_ofdm_frame_equalizer_vcvc.block.yml index b2eba18e64..a761e481e8 100644 --- a/gr-digital/grc/digital_ofdm_frame_equalizer_vcvc.block.yml +++ b/gr-digital/grc/digital_ofdm_frame_equalizer_vcvc.block.yml @@ -6,7 +6,7 @@ parameters: label: FFT length dtype: int default: fft_len - hide: ${ 'part' if vlen == 1 else 'none' } + hide: ${ 'part' if fft_len == 1 else 'none' } - id: cp_len label: CP length dtype: int diff --git a/gr-digital/grc/digital_ofdm_serializer_vcc.block.yml b/gr-digital/grc/digital_ofdm_serializer_vcc.block.yml index d81dd569f7..c81b99043b 100644 --- a/gr-digital/grc/digital_ofdm_serializer_vcc.block.yml +++ b/gr-digital/grc/digital_ofdm_serializer_vcc.block.yml @@ -6,7 +6,7 @@ parameters: label: FFT length dtype: int default: fft_len - hide: ${ 'part' if vlen == 1 else 'none' } + hide: ${ 'part' if fft_len == 1 else 'none' } - id: occupied_carriers label: Occupied Carriers dtype: raw |