diff options
author | Johannes Demel <demel@uni-bremen.de> | 2019-07-20 12:32:02 +0200 |
---|---|---|
committer | Martin Braun <martin.braun@ettus.com> | 2019-07-23 21:26:52 -0700 |
commit | 58857ac727084a5d40fdbfc5f597f734811cef0c (patch) | |
tree | bd666110c9c2f7cb928acb992ae5fe70b7c39cde /gr-digital/examples/demod | |
parent | f7f3866998584c35b27613c5a5464727b981587f (diff) |
digital: Fix GRC examples for YAML format
With this commit the remaining GRC examples that were not yet converted
to YAML are converted too.
GRC did not open these examples because it threw an error.
> Error: (ValueError("invalid literal for int() with base 10:
> 'digital.packet_utils.default_access_code'",), '% if
> int(eval(access_code))==0:\nself.${id} = ${id} =
> digital.header_format_default(digital.packet_utils.default_access_code,\\\n${threshold},
> ${bps})\n% else:\nself.${id} = ${id} =
> digital.header_format_default(${access_code},\\\n${threshold}, ${bps})\n% endif')
This could be fixed by manually editing the corresponding GRC files. All
uses of `digital.packet_utils.default_access_code` are replaced with a
string. This allows GRC to open these files. Still, GRC will hang in
case `digital.packet_utils.default_access_code` is used again.
This hints at a bug with the `default_access_code` code.
Diffstat (limited to 'gr-digital/examples/demod')
-rw-r--r-- | gr-digital/examples/demod/symbol_sync_test_complex.grc | 3384 | ||||
-rw-r--r-- | gr-digital/examples/demod/symbol_sync_test_float.grc | 3110 |
2 files changed, 1600 insertions, 4894 deletions
diff --git a/gr-digital/examples/demod/symbol_sync_test_complex.grc b/gr-digital/examples/demod/symbol_sync_test_complex.grc index 28812e20cd..3c838f4f1f 100644 --- a/gr-digital/examples/demod/symbol_sync_test_complex.grc +++ b/gr-digital/examples/demod/symbol_sync_test_complex.grc @@ -1,2552 +1,838 @@ -<?xml version='1.0' encoding='utf-8'?> -<?grc format='1' created='3.7.12'?> -<flow_graph> - <timestamp>Mon Jan 12 16:38:01 2015</timestamp> - <block> - <key>options</key> - <param> - <key>author</key> - <value>Andy Walls</value> - </param> - <param> - <key>window_size</key> - <value>3200, 700</value> - </param> - <param> - <key>category</key> - <value>Custom</value> - </param> - <param> - <key>comment</key> - <value></value> - </param> - <param> - <key>description</key> - <value></value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>_coordinate</key> - <value>(0, 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>symbol_sync_test_float</value> - </param> - <param> - <key>max_nouts</key> - <value>0</value> - </param> - <param> - <key>qt_qss_theme</key> - <value></value> - </param> - <param> - <key>realtime_scheduling</key> - <value></value> - </param> - <param> - <key>run_command</key> - <value>{python} -u {filename}</value> - </param> - <param> - <key>run_options</key> - <value>prompt</value> - </param> - <param> - <key>run</key> - <value>True</value> - </param> - <param> - <key>thread_safe_setters</key> - <value></value> - </param> - <param> - <key>title</key> - <value>Symbol Sync Test (Float)</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>(552, 244)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>baud_rate</value> - </param> - <param> - <key>value</key> - <value>1200.0</value> - </param> - </block> - <block> - <key>variable_qtgui_chooser</key> - <param> - <key>comment</key> - <value></value> - </param> - <param> - <key>value</key> - <value>(0,0,0,0,1)</value> - </param> - <param> - <key>_enabled</key> - <value>1</value> - </param> - <param> - <key>_coordinate</key> - <value>(344, 0)</value> - </param> - <param> - <key>gui_hint</key> - <value>0,0,1,1</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>data_src</value> - </param> - <param> - <key>label0</key> - <value>Random</value> - </param> - <param> - <key>label1</key> - <value>Low freq</value> - </param> - <param> - <key>label2</key> - <value>Dot Pattern</value> - </param> - <param> - <key>label3</key> - <value>Pulse</value> - </param> - <param> - <key>label4</key> - <value>Packets</value> - </param> - <param> - <key>label</key> - <value>Data Source</value> - </param> - <param> - <key>labels</key> - <value>[]</value> - </param> - <param> - <key>num_opts</key> - <value>5</value> - </param> - <param> - <key>option0</key> - <value>(1,0,0,0,0)</value> - </param> - <param> - <key>option1</key> - <value>(0,1,0,0,0)</value> - </param> - <param> - <key>option2</key> - <value>(0,0,1,0,0)</value> - </param> - <param> - <key>option3</key> - <value>(0,0,0,1,0)</value> - </param> - <param> - <key>option4</key> - <value>(0,0,0,0,1)</value> - </param> - <param> - <key>options</key> - <value>[0, 1, 2]</value> - </param> - <param> - <key>orient</key> - <value>Qt.QVBoxLayout</value> - </param> - <param> - <key>type</key> - <value>raw</value> - </param> - <param> - <key>widget</key> - <value>combo_box</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>(1488, 556)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>integral_gain</value> - </param> - <param> - <key>value</key> - <value>2.0/ted_gain*(1.0-math.exp(-zeta*omega_n_norm)*(math.sinh(zeta*omega_n_norm)+(math.cosh(omega_d_norm) if zeta > 1.0 else math.cos(omega_d_norm))))</value> - </param> - </block> - <block> - <key>variable_qtgui_label</key> - <param> - <key>comment</key> - <value></value> - </param> - <param> - <key>value</key> - <value>"%8.6f" % integral_gain</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>formatter</key> - <value>None</value> - </param> - <param> - <key>_coordinate</key> - <value>(1984, 460)</value> - </param> - <param> - <key>gui_hint</key> - <value>0,2,1,1</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>integral_gain_label</value> - </param> - <param> - <key>label</key> - <value>Integral Gain</value> - </param> - <param> - <key>type</key> - <value>string</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>(1488, 428)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>omega_d_norm</value> - </param> - <param> - <key>value</key> - <value>omega_n_norm*math.sqrt((zeta*zeta-1.0) if zeta > 1.0 else (1.0-zeta*zeta))</value> - </param> - </block> - <block> - <key>variable_qtgui_range</key> - <param> - <key>comment</key> - <value></value> - </param> - <param> - <key>value</key> - <value>0.125</value> - </param> - <param> - <key>_enabled</key> - <value>1</value> - </param> - <param> - <key>_coordinate</key> - <value>(1632, 424)</value> - </param> - <param> - <key>gui_hint</key> - <value>1,1,1,1</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>omega_n_norm</value> - </param> - <param> - <key>label</key> - <value>Normalized Bandwidth</value> - </param> - <param> - <key>min_len</key> - <value>200</value> - </param> - <param> - <key>orient</key> - <value>Qt.Horizontal</value> - </param> - <param> - <key>start</key> - <value>0.0</value> - </param> - <param> - <key>step</key> - <value>0.001</value> - </param> - <param> - <key>stop</key> - <value>2.0*math.pi*0.25</value> - </param> - <param> - <key>rangeType</key> - <value>float</value> - </param> - <param> - <key>widget</key> - <value>counter_slider</value> - </param> - </block> - <block> - <key>variable</key> - <param> - <key>comment</key> - <value></value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>_coordinate</key> - <value>(2128, 196)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>osps</value> - </param> - <param> - <key>value</key> - <value>1</value> - </param> - </block> - <block> - <key>variable_tag_object</key> - <param> - <key>comment</key> - <value></value> - </param> - <param> - <key>_enabled</key> - <value>1</value> - </param> - <param> - <key>_coordinate</key> - <value>(0, 544)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>packet_time_est_tag</value> - </param> - <param> - <key>key</key> - <value>pmt.intern("test")</value> - </param> - <param> - <key>offset</key> - <value>9</value> - </param> - <param> - <key>src</key> - <value>pmt.intern("packet_vector_source")</value> - </param> - <param> - <key>value</key> - <value>pmt.from_double(0.0)</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>(1488, 492)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>proportional_gain</value> - </param> - <param> - <key>value</key> - <value>2.0/ted_gain*math.exp(-zeta*omega_n_norm)*math.sinh(zeta*omega_n_norm)</value> - </param> - </block> - <block> - <key>variable_qtgui_label</key> - <param> - <key>comment</key> - <value></value> - </param> - <param> - <key>value</key> - <value>"%8.6f" % proportional_gain</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>formatter</key> - <value>None</value> - </param> - <param> - <key>_coordinate</key> - <value>(1984, 540)</value> - </param> - <param> - <key>gui_hint</key> - <value>1,2,1,1</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>proportional_gain_label</value> - </param> - <param> - <key>label</key> - <value>Proportional Gain</value> - </param> - <param> - <key>type</key> - <value>string</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>(1280, 228)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>sps</value> - </param> - <param> - <key>value</key> - <value>7</value> - </param> - </block> - <block> - <key>variable_qtgui_range</key> - <param> - <key>comment</key> - <value></value> - </param> - <param> - <key>value</key> - <value>0.28365</value> - </param> - <param> - <key>_enabled</key> - <value>1</value> - </param> - <param> - <key>_coordinate</key> - <value>(1808, 544)</value> - </param> - <param> - <key>gui_hint</key> - <value>1,0,1,1</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>ted_gain</value> - </param> - <param> - <key>label</key> - <value>Expected TED Gain</value> - </param> - <param> - <key>min_len</key> - <value>200</value> - </param> - <param> - <key>orient</key> - <value>Qt.Horizontal</value> - </param> - <param> - <key>start</key> - <value>0.05</value> - </param> - <param> - <key>step</key> - <value>0.01</value> - </param> - <param> - <key>stop</key> - <value>5.0</value> - </param> - <param> - <key>rangeType</key> - <value>float</value> - </param> - <param> - <key>widget</key> - <value>counter_slider</value> - </param> - </block> - <block> - <key>variable_qtgui_range</key> - <param> - <key>comment</key> - <value></value> - </param> - <param> - <key>value</key> - <value>1.0</value> - </param> - <param> - <key>_enabled</key> - <value>1</value> - </param> - <param> - <key>_coordinate</key> - <value>(1632, 544)</value> - </param> - <param> - <key>gui_hint</key> - <value>0,1,1,1</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>zeta</value> - </param> - <param> - <key>label</key> - <value>Damping Factor</value> - </param> - <param> - <key>min_len</key> - <value>200</value> - </param> - <param> - <key>orient</key> - <value>Qt.Horizontal</value> - </param> - <param> - <key>start</key> - <value>0.1</value> - </param> - <param> - <key>step</key> - <value>0.1</value> - </param> - <param> - <key>stop</key> - <value>5.0</value> - </param> - <param> - <key>rangeType</key> - <value>float</value> - </param> - <param> - <key>widget</key> - <value>counter_slider</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>1</value> - </param> - <param> - <key>_coordinate</key> - <value>(0, 128)</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>2</value> - </param> - <param> - <key>minoutbuf</key> - <value>0</value> - </param> - <param> - <key>min</key> - <value>0</value> - </param> - <param> - <key>num_samps</key> - <value>16384</value> - </param> - <param> - <key>type</key> - <value>short</value> - </param> - <param> - <key>repeat</key> - <value>True</value> - </param> - </block> - <block> - <key>blocks_float_to_complex</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>(2248, 328)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>blocks_float_to_complex_0_0</value> - </param> - <param> - <key>maxoutbuf</key> - <value>0</value> - </param> - <param> - <key>minoutbuf</key> - <value>0</value> - </param> - <param> - <key>vlen</key> - <value>1</value> - </param> - </block> - <block> - <key>blocks_float_to_complex</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>(2248, 392)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>blocks_float_to_complex_1_0</value> - </param> - <param> - <key>maxoutbuf</key> - <value>0</value> - </param> - <param> - <key>minoutbuf</key> - <value>0</value> - </param> - <param> - <key>vlen</key> - <value>1</value> - </param> - </block> - <block> - <key>blocks_float_to_complex</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>(1512, 328)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>blocks_float_to_complex_3</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_multiply_const_vxx</key> - <param> - <key>alias</key> - <value></value> - </param> - <param> - <key>comment</key> - <value></value> - </param> - <param> - <key>const</key> - <value>0.707+0.707j</value> - </param> - <param> - <key>affinity</key> - <value></value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>_coordinate</key> - <value>(1696, 340)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>blocks_multiply_const_vxx_1</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_multiply_matrix_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>_enabled</key> - <value>True</value> - </param> - <param> - <key>_coordinate</key> - <value>(360, 248)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>blocks_multiply_matrix_xx_0</value> - </param> - <param> - <key>type</key> - <value>float</value> - </param> - <param> - <key>A</key> - <value>(data_src,)</value> - </param> - <param> - <key>maxoutbuf</key> - <value>0</value> - </param> - <param> - <key>minoutbuf</key> - <value>0</value> - </param> - <param> - <key>tag_propagation_policy</key> - <value>gr.TPP_ALL_TO_ALL</value> - </param> - </block> - <block> - <key>blocks_repeat</key> - <param> - <key>alias</key> - <value></value> - </param> - <param> - <key>comment</key> - <value>Pulse Shaping</value> - </param> - <param> - <key>affinity</key> - <value></value> - </param> - <param> - <key>_enabled</key> - <value>1</value> - </param> - <param> - <key>_coordinate</key> - <value>(912, 332)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>blocks_repeat_0_0</value> - </param> - <param> - <key>interp</key> - <value>sps*2</value> - </param> - <param> - <key>maxoutbuf</key> - <value>0</value> - </param> - <param> - <key>minoutbuf</key> - <value>0</value> - </param> - <param> - <key>type</key> - <value>float</value> - </param> - <param> - <key>vlen</key> - <value>1</value> - </param> - </block> - <block> - <key>blocks_short_to_float</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, 148)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>blocks_short_to_float_1</value> - </param> - <param> - <key>maxoutbuf</key> - <value>0</value> - </param> - <param> - <key>minoutbuf</key> - <value>0</value> - </param> - <param> - <key>scale</key> - <value>1</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>1</value> - </param> - <param> - <key>_coordinate</key> - <value>(544, 324)</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>baud_rate*10</value> - </param> - <param> - <key>type</key> - <value>float</value> - </param> - <param> - <key>vlen</key> - <value>1</value> - </param> - </block> - <block> - <key>blocks_vector_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>1</value> - </param> - <param> - <key>_coordinate</key> - <value>(0, 300)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>blocks_vector_source_x_0_0</value> - </param> - <param> - <key>maxoutbuf</key> - <value>0</value> - </param> - <param> - <key>minoutbuf</key> - <value>0</value> - </param> - <param> - <key>type</key> - <value>float</value> - </param> - <param> - <key>repeat</key> - <value>True</value> - </param> - <param> - <key>tags</key> - <value>[]</value> - </param> - <param> - <key>vlen</key> - <value>1</value> - </param> - <param> - <key>vector</key> - <value>(0, 1, 0, 1, 0, 1, 0, 1)</value> - </param> - </block> - <block> - <key>blocks_vector_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>1</value> - </param> - <param> - <key>_coordinate</key> - <value>(0, 220)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>blocks_vector_source_x_0_0_0</value> - </param> - <param> - <key>maxoutbuf</key> - <value>0</value> - </param> - <param> - <key>minoutbuf</key> - <value>0</value> - </param> - <param> - <key>type</key> - <value>float</value> - </param> - <param> - <key>repeat</key> - <value>True</value> - </param> - <param> - <key>tags</key> - <value>[]</value> - </param> - <param> - <key>vlen</key> - <value>1</value> - </param> - <param> - <key>vector</key> - <value>(0,0,0,0,1,1,1,1)</value> - </param> - </block> - <block> - <key>blocks_vector_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>1</value> - </param> - <param> - <key>_coordinate</key> - <value>(0, 380)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>blocks_vector_source_x_0_0_1</value> - </param> - <param> - <key>maxoutbuf</key> - <value>0</value> - </param> - <param> - <key>minoutbuf</key> - <value>0</value> - </param> - <param> - <key>type</key> - <value>float</value> - </param> - <param> - <key>repeat</key> - <value>True</value> - </param> - <param> - <key>tags</key> - <value>[]</value> - </param> - <param> - <key>vlen</key> - <value>1</value> - </param> - <param> - <key>vector</key> - <value>[1]+[0]*7</value> - </param> - </block> - <block> - <key>blocks_vector_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>(0, 460)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>blocks_vector_source_x_0_0_1_0</value> - </param> - <param> - <key>maxoutbuf</key> - <value>0</value> - </param> - <param> - <key>minoutbuf</key> - <value>0</value> - </param> - <param> - <key>type</key> - <value>float</value> - </param> - <param> - <key>repeat</key> - <value>True</value> - </param> - <param> - <key>tags</key> - <value>[packet_time_est_tag]</value> - </param> - <param> - <key>vlen</key> - <value>1</value> - </param> - <param> - <key>vector</key> - <value>[1,0]*(4*12*0)+[1,1,0,1,0,1,0,1]*12+[1,0,1,1,1,1,1,0,0,1]+[1,1,1,1,0,1,1,0,0,1]+[1,0,1,1,1,1,1,0,0,1]+[0,1,1,1,0,1,1,0,1,0]+[0,0,0,0,0,1,0,1,0,1,1,0,0,1,1,1,0,0,0,0]+[2]*128</value> - </param> - </block> - <block> - <key>digital_symbol_sync_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>damping</key> - <value>zeta</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>ted_gain</key> - <value>ted_gain</value> - </param> - <param> - <key>nfilters</key> - <value>128</value> - </param> - <param> - <key>_coordinate</key> - <value>(1920, 292)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>type</key> - <value>cc</value> - </param> - <param> - <key>id</key> - <value>digital_symbol_sync_xx_0</value> - </param> - <param> - <key>resamp_type</key> - <value>digital.IR_MMSE_8TAP</value> - </param> - <param> - <key>loop_bw</key> - <value>omega_n_norm</value> - </param> - <param> - <key>maxoutbuf</key> - <value>0</value> - </param> - <param> - <key>max_dev</key> - <value>1.5</value> - </param> - <param> - <key>minoutbuf</key> - <value>0</value> - </param> - <param> - <key>osps</key> - <value>osps</value> - </param> - <param> - <key>pfb_mf_taps</key> - <value>[]</value> - </param> - <param> - <key>sps</key> - <value>sps</value> - </param> - <param> - <key>constellation</key> - <value>digital.constellation_bpsk().base()</value> - </param> - <param> - <key>ted_type</key> - <value>digital.TED_MUELLER_AND_MULLER</value> - </param> - </block> - <block> - <key>epy_block</key> - <param> - <key>alias</key> - <value></value> - </param> - <param> - <key>_io_cache</key> - <value>('Bit -> Symbol Map', 'ConstMap', [], [('0', 'float', 1)], [('0', 'float', 1)], '\n Map 0, 1 to -1, 1\n ', [])</value> - </param> - <param> - <key>_source_code</key> - <value>""" -Embedded Python Blocks: +options: + parameters: + author: Andy Walls + category: Custom + cmake_opt: '' + comment: '' + copyright: '' + description: '' + gen_cmake: 'On' + gen_linking: dynamic + generate_options: qt_gui + hier_block_src_path: '.:' + id: symbol_sync_test_float + 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: Symbol Sync Test (Float) + window_size: 3200, 700 + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [0, 0] + rotation: 0 + state: enabled -Each time this file is saved, GRC will instantiate the first class it finds -to get ports and parameters of your block. The arguments to __init__ will -be the parameters. All of them are required to have default values! -""" +blocks: +- name: baud_rate + id: variable + parameters: + comment: '' + value: '1200.0' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [552, 244] + rotation: 0 + state: enabled +- name: data_src + id: variable_qtgui_chooser + parameters: + comment: '' + gui_hint: 0,0,1,1 + label: Data Source + label0: Random + label1: Low freq + label2: Dot Pattern + label3: Pulse + label4: Packets + labels: '[]' + num_opts: '5' + option1: (0,1,0,0,0) + option2: (0,0,1,0,0) + option3: (0,0,0,1,0) + option4: (0,0,0,0,1) + options: '[0, 1, 2]' + orient: Qt.QVBoxLayout + type: raw + value: (0,0,0,0,1) + widget: combo_box + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [344, 0] + rotation: 0 + state: enabled +- name: integral_gain + id: variable + parameters: + comment: '' + value: 2.0/ted_gain*(1.0-math.exp(-zeta*omega_n_norm)*(math.sinh(zeta*omega_n_norm)+(math.cosh(omega_d_norm) + if zeta > 1.0 else math.cos(omega_d_norm)))) + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1488, 556] + rotation: 0 + state: enabled +- name: integral_gain_label + id: variable_qtgui_label + parameters: + comment: '' + formatter: None + gui_hint: 0,2,1,1 + label: Integral Gain + type: string + value: '"%8.6f" % integral_gain' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1984, 460] + rotation: 0 + state: enabled +- name: omega_d_norm + id: variable + parameters: + comment: '' + value: omega_n_norm*math.sqrt((zeta*zeta-1.0) if zeta > 1.0 else (1.0-zeta*zeta)) + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1488, 428] + rotation: 0 + state: enabled +- name: omega_n_norm + id: variable_qtgui_range + parameters: + comment: '' + gui_hint: 1,1,1,1 + label: Normalized Bandwidth + min_len: '200' + orient: Qt.Horizontal + rangeType: float + start: '0.0' + step: '0.001' + stop: 2.0*math.pi*0.25 + value: '0.125' + widget: counter_slider + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1632, 424] + rotation: 0 + state: enabled +- name: osps + id: variable + parameters: + comment: '' + value: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [2128, 196] + rotation: 0 + state: enabled +- name: packet_time_est_tag + id: variable_tag_object + parameters: + comment: '' + key: pmt.intern("test") + offset: '9' + src: pmt.intern("packet_vector_source") + value: pmt.from_double(0.0) + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [0, 544] + rotation: 0 + state: enabled +- name: proportional_gain + id: variable + parameters: + comment: '' + value: 2.0/ted_gain*math.exp(-zeta*omega_n_norm)*math.sinh(zeta*omega_n_norm) + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1488, 492] + rotation: 0 + state: enabled +- name: proportional_gain_label + id: variable_qtgui_label + parameters: + comment: '' + formatter: None + gui_hint: 1,2,1,1 + label: Proportional Gain + type: string + value: '"%8.6f" % proportional_gain' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1984, 540] + rotation: 0 + state: enabled +- name: sps + id: variable + parameters: + comment: '' + value: '7' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1280, 228] + rotation: 0 + state: enabled +- name: ted_gain + id: variable_qtgui_range + parameters: + comment: '' + gui_hint: 1,0,1,1 + label: Expected TED Gain + min_len: '200' + orient: Qt.Horizontal + rangeType: float + start: '0.05' + step: '0.01' + stop: '5.0' + value: '0.28365' + widget: counter_slider + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1808, 544] + rotation: 0 + state: enabled +- name: zeta + id: variable_qtgui_range + parameters: + comment: '' + gui_hint: 0,1,1,1 + label: Damping Factor + min_len: '200' + orient: Qt.Horizontal + rangeType: float + start: '0.1' + step: '0.1' + stop: '5.0' + value: '1.0' + widget: counter_slider + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1632, 544] + rotation: 0 + state: enabled +- name: analog_random_source_x_0 + id: analog_random_source_x + parameters: + affinity: '' + alias: '' + comment: '' + max: '2' + maxoutbuf: '0' + min: '0' + minoutbuf: '0' + num_samps: '16384' + repeat: 'True' + type: short + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [0, 128] + rotation: 0 + state: enabled +- name: blocks_float_to_complex_0_0 + id: blocks_float_to_complex + parameters: + affinity: '' + alias: '' + comment: '' + maxoutbuf: '0' + minoutbuf: '0' + vlen: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [2248, 328] + rotation: 0 + state: enabled +- name: blocks_float_to_complex_1_0 + id: blocks_float_to_complex + parameters: + affinity: '' + alias: '' + comment: '' + maxoutbuf: '0' + minoutbuf: '0' + vlen: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [2248, 392] + rotation: 0 + state: enabled +- name: blocks_float_to_complex_3 + id: blocks_float_to_complex + parameters: + affinity: '' + alias: '' + comment: '' + maxoutbuf: '0' + minoutbuf: '0' + vlen: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1512, 328] + rotation: 0 + state: enabled +- name: blocks_multiply_const_vxx_1 + id: blocks_multiply_const_vxx + parameters: + affinity: '' + alias: '' + comment: '' + const: 0.707+0.707j + maxoutbuf: '0' + minoutbuf: '0' + type: complex + vlen: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1696, 340] + rotation: 0 + state: enabled +- name: blocks_multiply_matrix_xx_0 + id: blocks_multiply_matrix_xx + parameters: + A: (data_src,) + affinity: '' + alias: '' + comment: '' + maxoutbuf: '0' + minoutbuf: '0' + tag_propagation_policy: gr.TPP_ALL_TO_ALL + type: float + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [360, 248] + rotation: 0 + state: enabled +- name: blocks_repeat_0_0 + id: blocks_repeat + parameters: + affinity: '' + alias: '' + comment: Pulse Shaping + interp: sps*2 + maxoutbuf: '0' + minoutbuf: '0' + type: float + vlen: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [912, 332] + rotation: 0 + state: enabled +- name: blocks_short_to_float_1 + id: blocks_short_to_float + parameters: + affinity: '' + alias: '' + comment: '' + maxoutbuf: '0' + minoutbuf: '0' + scale: '1' + vlen: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [192, 148] + rotation: 0 + state: enabled +- name: blocks_throttle_0 + id: blocks_throttle + parameters: + affinity: '' + alias: '' + comment: '' + ignoretag: 'True' + maxoutbuf: '0' + minoutbuf: '0' + samples_per_second: baud_rate*10 + type: float + vlen: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [544, 324] + rotation: 0 + state: enabled +- name: blocks_vector_source_x_0_0 + id: blocks_vector_source_x + parameters: + affinity: '' + alias: '' + comment: '' + maxoutbuf: '0' + minoutbuf: '0' + repeat: 'True' + tags: '[]' + type: float + vector: (0, 1, 0, 1, 0, 1, 0, 1) + vlen: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [0, 300] + rotation: 0 + state: enabled +- name: blocks_vector_source_x_0_0_0 + id: blocks_vector_source_x + parameters: + affinity: '' + alias: '' + comment: '' + maxoutbuf: '0' + minoutbuf: '0' + repeat: 'True' + tags: '[]' + type: float + vector: (0,0,0,0,1,1,1,1) + vlen: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [0, 220] + rotation: 0 + state: enabled +- name: blocks_vector_source_x_0_0_1 + id: blocks_vector_source_x + parameters: + affinity: '' + alias: '' + comment: '' + maxoutbuf: '0' + minoutbuf: '0' + repeat: 'True' + tags: '[]' + type: float + vector: '[1]+[0]*7' + vlen: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [0, 380] + rotation: 0 + state: enabled +- name: blocks_vector_source_x_0_0_1_0 + id: blocks_vector_source_x + parameters: + affinity: '' + alias: '' + comment: '' + maxoutbuf: '0' + minoutbuf: '0' + repeat: 'True' + tags: '[packet_time_est_tag]' + type: float + vector: '[1,0]*(4*12*0)+[1,1,0,1,0,1,0,1]*12+[1,0,1,1,1,1,1,0,0,1]+[1,1,1,1,0,1,1,0,0,1]+[1,0,1,1,1,1,1,0,0,1]+[0,1,1,1,0,1,1,0,1,0]+[0,0,0,0,0,1,0,1,0,1,1,0,0,1,1,1,0,0,0,0]+[2]*128' + vlen: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [0, 460] + rotation: 0 + state: enabled +- name: digital_symbol_sync_xx_0 + id: digital_symbol_sync_xx + parameters: + affinity: '' + alias: '' + comment: '' + constellation: digital.constellation_bpsk().base() + damping: zeta + loop_bw: omega_n_norm + max_dev: '1.5' + maxoutbuf: '0' + minoutbuf: '0' + nfilters: '128' + osps: osps + pfb_mf_taps: '[]' + resamp_type: digital.IR_MMSE_8TAP + sps: sps + ted_gain: ted_gain + ted_type: digital.TED_MUELLER_AND_MULLER + type: cc + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1920, 292] + rotation: 0 + state: enabled +- name: epy_block_0_0 + id: epy_block + parameters: + _source_code: "\"\"\"\nEmbedded Python Blocks:\n\nEach time this file is saved,\ + \ GRC will instantiate the first class it finds\nto get ports and parameters\ + \ of your block. The arguments to __init__ will\nbe the parameters. All of\ + \ them are required to have default values!\n\"\"\"\n\nimport numpy as np\n\ + from gnuradio import gr\n\nclass ConstMap(gr.sync_block):\n \"\"\"\n Map\ + \ 0, 1 to -1, 1\n \"\"\"\n def __init__(self):\n gr.sync_block.__init__(\n\ + \ self,\n name='Bit -> Symbol Map',\n in_sig=[np.float32],\n\ + \ out_sig=[np.float32]\n )\n\n def work(self, input_items,\ + \ output_items):\n \"\"\"\n map\n \"\"\"\n sym_map\ + \ = {0.0: -1.0, 1.0: 1.0, 2.0: 0.0}\n output_items[0][:] = [sym_map[x]\ + \ for x in input_items[0]]\n return len(output_items[0])\n" + affinity: '' + alias: '' + comment: BPSK Modulation + maxoutbuf: '0' + minoutbuf: '0' + states: + _io_cache: ('Bit -> Symbol Map', 'ConstMap', [], [('0', 'float', 1)], [('0', 'float', + 1)], '\n Map 0, 1 to -1, 1\n ', []) + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [696, 328] + rotation: 0 + state: enabled +- name: fir_filter_xxx_0_1_0_0_0_0 + id: fir_filter_xxx + parameters: + affinity: '' + alias: '' + comment: "Matched Filter (almost). \nBecause the input stream has 6 2/3 \nsamples\ + \ per symbol, this incurs a slight ISI." + decim: '1' + maxoutbuf: '0' + minoutbuf: '0' + samp_delay: int((sps-1.0)/2.0)+4 + taps: '[1.0/float(sps)]*sps' + type: fff + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1264, 324] + rotation: 0 + state: enabled +- name: import_0 + id: import + parameters: + alias: '' + comment: '' + imports: import math + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [184, 4] + rotation: 0 + state: enabled +- name: import_0_0 + id: import + parameters: + alias: '' + comment: '' + imports: from gnuradio import digital + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [184, 52] + rotation: 0 + state: enabled +- name: note_0 + id: note + parameters: + alias: '' + comment: '' + note: Bit Pattern Generation + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [328, 452.0] + rotation: 0 + state: enabled +- name: qtgui_time_sink_x_0_0_0_0_0_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: 'False' + axislabels: 'True' + color1: '"blue"' + color10: '"blue"' + color2: '"magenta"' + color3: '"red"' + color4: '"green"' + color5: '"black"' + color6: '"yellow"' + color7: '"black"' + color8: '"black"' + color9: '"dark green"' + comment: '' + ctrlpanel: 'False' + entags: 'True' + grid: 'False' + gui_hint: 3,1,1,2 + label1: Soft Bits Re + label10: '' + label2: Soft Bits Im + label3: Error + label4: Instantaneous Period + label5: Average Period + label6: (unused) + label7: '' + label8: '' + label9: '' + legend: 'True' + marker1: '1' + marker10: '-1' + marker2: '0' + marker3: '-1' + marker4: '-1' + marker5: '-1' + marker6: '-1' + marker7: '-1' + marker8: '-1' + marker9: '-1' + name: Symbol Synched Output and Debug + nconnections: '3' + size: 256*osps + srate: baud_rate*osps + stemplot: 'False' + style1: '1' + style10: '1' + style2: '1' + style3: '1' + style4: '1' + style5: '1' + style6: '0' + style7: '1' + style8: '0' + style9: '1' + tr_chan: '0' + tr_delay: '0.01' + tr_level: '0.1' + tr_mode: qtgui.TRIG_MODE_NORM + tr_slope: qtgui.TRIG_SLOPE_POS + tr_tag: '"time_est"' + type: complex + update_time: '0.1' + width1: '1' + width10: '1' + width2: '1' + width3: '1' + width4: '1' + width5: '1' + width6: '1' + width7: '1' + width8: '1' + width9: '1' + ylabel: Amplitude + ymax: sps+2 + ymin: '-1.5' + yunit: '""' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [2472, 296] + rotation: 0 + state: enabled +- name: qtgui_time_sink_x_0_1_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: 'False' + axislabels: 'True' + color1: '"blue"' + color10: '"blue"' + color2: '"red"' + color3: '"green"' + color4: '"black"' + color5: '"dark green"' + color6: '"magenta"' + color7: '"yellow"' + color8: '"dark red"' + color9: '"dark green"' + comment: '' + ctrlpanel: 'False' + entags: 'True' + grid: 'True' + gui_hint: 3,0,1,1 + label1: '' + label10: '' + label2: '' + label3: '' + label4: '' + label5: Baseband + label6: Abs(Corr) + 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: '""' + nconnections: '1' + size: 1024*3 + srate: baud_rate*sps + 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.01' + tr_level: '0.1' + tr_mode: qtgui.TRIG_MODE_NORM + 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.5' + ymin: '-1.5' + yunit: '""' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1920, 196] + rotation: 0 + state: enabled +- name: rational_resampler_xxx_0_0 + id: rational_resampler_xxx + parameters: + affinity: '' + alias: '' + comment: "Resampling to 6 2/3 samples \nper symbol (\"clock desync\")" + decim: '21' + fbw: '0.45' + interp: '10' + maxoutbuf: '0' + minoutbuf: '0' + taps: '' + type: fff + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1080, 312] + rotation: 0 + state: enabled -import numpy as np -from gnuradio import gr +connections: +- [analog_random_source_x_0, '0', blocks_short_to_float_1, '0'] +- [blocks_float_to_complex_0_0, '0', qtgui_time_sink_x_0_0_0_0_0_0, '1'] +- [blocks_float_to_complex_1_0, '0', qtgui_time_sink_x_0_0_0_0_0_0, '2'] +- [blocks_float_to_complex_3, '0', blocks_multiply_const_vxx_1, '0'] +- [blocks_multiply_const_vxx_1, '0', digital_symbol_sync_xx_0, '0'] +- [blocks_multiply_const_vxx_1, '0', qtgui_time_sink_x_0_1_0, '0'] +- [blocks_multiply_matrix_xx_0, '0', blocks_throttle_0, '0'] +- [blocks_repeat_0_0, '0', rational_resampler_xxx_0_0, '0'] +- [blocks_short_to_float_1, '0', blocks_multiply_matrix_xx_0, '0'] +- [blocks_throttle_0, '0', epy_block_0_0, '0'] +- [blocks_vector_source_x_0_0, '0', blocks_multiply_matrix_xx_0, '2'] +- [blocks_vector_source_x_0_0_0, '0', blocks_multiply_matrix_xx_0, '1'] +- [blocks_vector_source_x_0_0_1, '0', blocks_multiply_matrix_xx_0, '3'] +- [blocks_vector_source_x_0_0_1_0, '0', blocks_multiply_matrix_xx_0, '4'] +- [digital_symbol_sync_xx_0, '0', qtgui_time_sink_x_0_0_0_0_0_0, '0'] +- [digital_symbol_sync_xx_0, '1', blocks_float_to_complex_0_0, '0'] +- [digital_symbol_sync_xx_0, '2', blocks_float_to_complex_0_0, '1'] +- [digital_symbol_sync_xx_0, '3', blocks_float_to_complex_1_0, '0'] +- [epy_block_0_0, '0', blocks_repeat_0_0, '0'] +- [fir_filter_xxx_0_1_0_0_0_0, '0', blocks_float_to_complex_3, '0'] +- [rational_resampler_xxx_0_0, '0', fir_filter_xxx_0_1_0_0_0_0, '0'] -class ConstMap(gr.sync_block): - """ - Map 0, 1 to -1, 1 - """ - def __init__(self): - gr.sync_block.__init__( - self, - name='Bit -> Symbol Map', - in_sig=[np.float32], - out_sig=[np.float32] - ) - - def work(self, input_items, output_items): - """ - map - """ - sym_map = {0.0: -1.0, 1.0: 1.0, 2.0: 0.0} - output_items[0][:] = [sym_map[x] for x in input_items[0]] - return len(output_items[0]) -</value> - </param> - <param> - <key>comment</key> - <value>BPSK Modulation</value> - </param> - <param> - <key>_enabled</key> - <value>1</value> - </param> - <param> - <key>_coordinate</key> - <value>(696, 328)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>epy_block_0_0</value> - </param> - </block> - <block> - <key>fir_filter_xxx</key> - <param> - <key>alias</key> - <value></value> - </param> - <param> - <key>comment</key> - <value>Matched Filter (almost). -Because the input stream has 6 2/3 -samples per symbol, this incurs a slight ISI.</value> - </param> - <param> - <key>affinity</key> - <value></value> - </param> - <param> - <key>decim</key> - <value>1</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>_coordinate</key> - <value>(1264, 324)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>fir_filter_xxx_0_1_0_0_0_0</value> - </param> - <param> - <key>maxoutbuf</key> - <value>0</value> - </param> - <param> - <key>minoutbuf</key> - <value>0</value> - </param> - <param> - <key>samp_delay</key> - <value>int((sps-1.0)/2.0)+4</value> - </param> - <param> - <key>taps</key> - <value>[1.0/float(sps)]*sps</value> - </param> - <param> - <key>type</key> - <value>fff</value> - </param> - </block> - <block> - <key>import</key> - <param> - <key>alias</key> - <value></value> - </param> - <param> - <key>comment</key> - <value></value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>_coordinate</key> - <value>(184, 4)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>import_0</value> - </param> - <param> - <key>import</key> - <value>import math</value> - </param> - </block> - <block> - <key>import</key> - <param> - <key>alias</key> - <value></value> - </param> - <param> - <key>comment</key> - <value></value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>_coordinate</key> - <value>(184, 52)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>import_0_0</value> - </param> - <param> - <key>import</key> - <value>from gnuradio import digital</value> - </param> - </block> - <block> - <key>note</key> - <param> - <key>alias</key> - <value></value> - </param> - <param> - <key>comment</key> - <value></value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>_coordinate</key> - <value>(320, 316)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>note_0</value> - </param> - <param> - <key>note</key> - <value>Bit Pattern Generation</value> - </param> - </block> - <block> - <key>qtgui_time_sink_x</key> - <param> - <key>autoscale</key> - <value>False</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>1</value> - </param> - <param> - <key>_coordinate</key> - <value>(2472, 296)</value> - </param> - <param> - <key>gui_hint</key> - <value>3,1,1,2</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_0_0_0_0_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>Soft Bits Re</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>"magenta"</value> - </param> - <param> - <key>label2</key> - <value>Soft Bits Im</value> - </param> - <param> - <key>marker2</key> - <value>0</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>"red"</value> - </param> - <param> - <key>label3</key> - <value>Error</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>"green"</value> - </param> - <param> - <key>label4</key> - <value>Instantaneous Period</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>"black"</value> - </param> - <param> - <key>label5</key> - <value>Average Period</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>"yellow"</value> - </param> - <param> - <key>label6</key> - <value>(unused)</value> - </param> - <param> - <key>marker6</key> - <value>-1</value> - </param> - <param> - <key>style6</key> - <value>0</value> - </param> - <param> - <key>width6</key> - <value>1</value> - </param> - <param> - <key>alpha7</key> - <value>1.0</value> - </param> - <param> - <key>color7</key> - <value>"black"</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>"black"</value> - </param> - <param> - <key>label8</key> - <value></value> - </param> - <param> - <key>marker8</key> - <value>-1</value> - </param> - <param> - <key>style8</key> - <value>0</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>Symbol Synched Output and Debug</value> - </param> - <param> - <key>nconnections</key> - <value>3</value> - </param> - <param> - <key>size</key> - <value>256*osps</value> - </param> - <param> - <key>srate</key> - <value>baud_rate*osps</value> - </param> - <param> - <key>tr_chan</key> - <value>0</value> - </param> - <param> - <key>tr_delay</key> - <value>0.01</value> - </param> - <param> - <key>tr_level</key> - <value>0.1</value> - </param> - <param> - <key>tr_mode</key> - <value>qtgui.TRIG_MODE_NORM</value> - </param> - <param> - <key>tr_slope</key> - <value>qtgui.TRIG_SLOPE_POS</value> - </param> - <param> - <key>tr_tag</key> - <value>"time_est"</value> - </param> - <param> - <key>type</key> - <value>complex</value> - </param> - <param> - <key>update_time</key> - <value>0.1</value> - </param> - <param> - <key>ylabel</key> - <value>Amplitude</value> - </param> - <param> - <key>yunit</key> - <value>""</value> - </param> - <param> - <key>ymax</key> - <value>sps+2</value> - </param> - <param> - <key>ymin</key> - <value>-1.5</value> - </param> - </block> - <block> - <key>qtgui_time_sink_x</key> - <param> - <key>autoscale</key> - <value>False</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>(1920, 196)</value> - </param> - <param> - <key>gui_hint</key> - <value>3,0,1,1</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>grid</key> - <value>True</value> - </param> - <param> - <key>id</key> - <value>qtgui_time_sink_x_0_1_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>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>"dark green"</value> - </param> - <param> - <key>label5</key> - <value>Baseband</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>Abs(Corr)</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>""</value> - </param> - <param> - <key>nconnections</key> - <value>1</value> - </param> - <param> - <key>size</key> - <value>1024*3</value> - </param> - <param> - <key>srate</key> - <value>baud_rate*sps</value> - </param> - <param> - <key>tr_chan</key> - <value>0</value> - </param> - <param> - <key>tr_delay</key> - <value>0.01</value> - </param> - <param> - <key>tr_level</key> - <value>0.1</value> - </param> - <param> - <key>tr_mode</key> - <value>qtgui.TRIG_MODE_NORM</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.5</value> - </param> - <param> - <key>ymin</key> - <value>-1.5</value> - </param> - </block> - <block> - <key>rational_resampler_xxx</key> - <param> - <key>alias</key> - <value></value> - </param> - <param> - <key>comment</key> - <value>Resampling to 6 2/3 samples -per symbol ("clock desync")</value> - </param> - <param> - <key>affinity</key> - <value></value> - </param> - <param> - <key>decim</key> - <value>21</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>fbw</key> - <value>0.45</value> - </param> - <param> - <key>_coordinate</key> - <value>(1080, 312)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>rational_resampler_xxx_0_0</value> - </param> - <param> - <key>interp</key> - <value>10</value> - </param> - <param> - <key>maxoutbuf</key> - <value>0</value> - </param> - <param> - <key>minoutbuf</key> - <value>0</value> - </param> - <param> - <key>taps</key> - <value></value> - </param> - <param> - <key>type</key> - <value>fff</value> - </param> - </block> - <connection> - <source_block_id>analog_random_source_x_0</source_block_id> - <sink_block_id>blocks_short_to_float_1</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>blocks_float_to_complex_0_0</source_block_id> - <sink_block_id>qtgui_time_sink_x_0_0_0_0_0_0</sink_block_id> - <source_key>0</source_key> - <sink_key>1</sink_key> - </connection> - <connection> - <source_block_id>blocks_float_to_complex_1_0</source_block_id> - <sink_block_id>qtgui_time_sink_x_0_0_0_0_0_0</sink_block_id> - <source_key>0</source_key> - <sink_key>2</sink_key> - </connection> - <connection> - <source_block_id>blocks_float_to_complex_3</source_block_id> - <sink_block_id>blocks_multiply_const_vxx_1</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>blocks_multiply_const_vxx_1</source_block_id> - <sink_block_id>digital_symbol_sync_xx_0</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>blocks_multiply_const_vxx_1</source_block_id> - <sink_block_id>qtgui_time_sink_x_0_1_0</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>blocks_multiply_matrix_xx_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_repeat_0_0</source_block_id> - <sink_block_id>rational_resampler_xxx_0_0</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>blocks_short_to_float_1</source_block_id> - <sink_block_id>blocks_multiply_matrix_xx_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>epy_block_0_0</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>blocks_vector_source_x_0_0</source_block_id> - <sink_block_id>blocks_multiply_matrix_xx_0</sink_block_id> - <source_key>0</source_key> - <sink_key>2</sink_key> - </connection> - <connection> - <source_block_id>blocks_vector_source_x_0_0_0</source_block_id> - <sink_block_id>blocks_multiply_matrix_xx_0</sink_block_id> - <source_key>0</source_key> - <sink_key>1</sink_key> - </connection> - <connection> - <source_block_id>blocks_vector_source_x_0_0_1</source_block_id> - <sink_block_id>blocks_multiply_matrix_xx_0</sink_block_id> - <source_key>0</source_key> - <sink_key>3</sink_key> - </connection> - <connection> - <source_block_id>blocks_vector_source_x_0_0_1_0</source_block_id> - <sink_block_id>blocks_multiply_matrix_xx_0</sink_block_id> - <source_key>0</source_key> - <sink_key>4</sink_key> - </connection> - <connection> - <source_block_id>digital_symbol_sync_xx_0</source_block_id> - <sink_block_id>blocks_float_to_complex_1_0</sink_block_id> - <source_key>3</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>digital_symbol_sync_xx_0</source_block_id> - <sink_block_id>blocks_float_to_complex_0_0</sink_block_id> - <source_key>2</source_key> - <sink_key>1</sink_key> - </connection> - <connection> - <source_block_id>digital_symbol_sync_xx_0</source_block_id> - <sink_block_id>blocks_float_to_complex_0_0</sink_block_id> - <source_key>1</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>digital_symbol_sync_xx_0</source_block_id> - <sink_block_id>qtgui_time_sink_x_0_0_0_0_0_0</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>epy_block_0_0</source_block_id> - <sink_block_id>blocks_repeat_0_0</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>fir_filter_xxx_0_1_0_0_0_0</source_block_id> - <sink_block_id>blocks_float_to_complex_3</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>rational_resampler_xxx_0_0</source_block_id> - <sink_block_id>fir_filter_xxx_0_1_0_0_0_0</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> -</flow_graph> +metadata: + file_format: 1 diff --git a/gr-digital/examples/demod/symbol_sync_test_float.grc b/gr-digital/examples/demod/symbol_sync_test_float.grc index f072b1cd89..8c004155b3 100644 --- a/gr-digital/examples/demod/symbol_sync_test_float.grc +++ b/gr-digital/examples/demod/symbol_sync_test_float.grc @@ -1,2348 +1,768 @@ -<?xml version='1.0' encoding='utf-8'?> -<?grc format='1' created='3.7.12'?> -<flow_graph> - <timestamp>Mon Jan 12 16:38:01 2015</timestamp> - <block> - <key>options</key> - <param> - <key>author</key> - <value>Andy Walls</value> - </param> - <param> - <key>window_size</key> - <value>2600, 700</value> - </param> - <param> - <key>category</key> - <value>Custom</value> - </param> - <param> - <key>comment</key> - <value></value> - </param> - <param> - <key>description</key> - <value></value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>_coordinate</key> - <value>(0, 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>symbol_sync_test_float</value> - </param> - <param> - <key>max_nouts</key> - <value>0</value> - </param> - <param> - <key>qt_qss_theme</key> - <value></value> - </param> - <param> - <key>realtime_scheduling</key> - <value></value> - </param> - <param> - <key>run_command</key> - <value>{python} -u {filename}</value> - </param> - <param> - <key>run_options</key> - <value>prompt</value> - </param> - <param> - <key>run</key> - <value>True</value> - </param> - <param> - <key>thread_safe_setters</key> - <value></value> - </param> - <param> - <key>title</key> - <value>Symbol Sync Test (Float)</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>(552, 244)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>baud_rate</value> - </param> - <param> - <key>value</key> - <value>1200.0</value> - </param> - </block> - <block> - <key>variable_qtgui_chooser</key> - <param> - <key>comment</key> - <value></value> - </param> - <param> - <key>value</key> - <value>(0,0,0,0,1)</value> - </param> - <param> - <key>_enabled</key> - <value>1</value> - </param> - <param> - <key>_coordinate</key> - <value>(344, 0)</value> - </param> - <param> - <key>gui_hint</key> - <value>0,0,1,1</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>data_src</value> - </param> - <param> - <key>label0</key> - <value>Random</value> - </param> - <param> - <key>label1</key> - <value>Low freq</value> - </param> - <param> - <key>label2</key> - <value>Dot Pattern</value> - </param> - <param> - <key>label3</key> - <value>Pulse</value> - </param> - <param> - <key>label4</key> - <value>Packets</value> - </param> - <param> - <key>label</key> - <value>Data Source</value> - </param> - <param> - <key>labels</key> - <value>[]</value> - </param> - <param> - <key>num_opts</key> - <value>5</value> - </param> - <param> - <key>option0</key> - <value>(1,0,0,0,0)</value> - </param> - <param> - <key>option1</key> - <value>(0,1,0,0,0)</value> - </param> - <param> - <key>option2</key> - <value>(0,0,1,0,0)</value> - </param> - <param> - <key>option3</key> - <value>(0,0,0,1,0)</value> - </param> - <param> - <key>option4</key> - <value>(0,0,0,0,1)</value> - </param> - <param> - <key>options</key> - <value>[0, 1, 2]</value> - </param> - <param> - <key>orient</key> - <value>Qt.QVBoxLayout</value> - </param> - <param> - <key>type</key> - <value>raw</value> - </param> - <param> - <key>widget</key> - <value>combo_box</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>(1488, 556)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>integral_gain</value> - </param> - <param> - <key>value</key> - <value>2.0/ted_gain*(1.0-math.exp(-zeta*omega_n_norm)*(math.sinh(zeta*omega_n_norm)+(math.cosh(omega_d_norm) if zeta > 1.0 else math.cos(omega_d_norm))))</value> - </param> - </block> - <block> - <key>variable_qtgui_label</key> - <param> - <key>comment</key> - <value></value> - </param> - <param> - <key>value</key> - <value>"%8.6f" % integral_gain</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>formatter</key> - <value>None</value> - </param> - <param> - <key>_coordinate</key> - <value>(1984, 428)</value> - </param> - <param> - <key>gui_hint</key> - <value>0,2,1,1</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>integral_gain_label</value> - </param> - <param> - <key>label</key> - <value>Integral Gain</value> - </param> - <param> - <key>type</key> - <value>string</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>(1488, 428)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>omega_d_norm</value> - </param> - <param> - <key>value</key> - <value>omega_n_norm*math.sqrt((zeta*zeta-1.0) if zeta > 1.0 else (1.0-zeta*zeta))</value> - </param> - </block> - <block> - <key>variable_qtgui_range</key> - <param> - <key>comment</key> - <value></value> - </param> - <param> - <key>value</key> - <value>0.125</value> - </param> - <param> - <key>_enabled</key> - <value>1</value> - </param> - <param> - <key>_coordinate</key> - <value>(1632, 424)</value> - </param> - <param> - <key>gui_hint</key> - <value>1,1,1,1</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>omega_n_norm</value> - </param> - <param> - <key>label</key> - <value>Normalized Bandwidth</value> - </param> - <param> - <key>min_len</key> - <value>200</value> - </param> - <param> - <key>orient</key> - <value>Qt.Horizontal</value> - </param> - <param> - <key>start</key> - <value>0.0</value> - </param> - <param> - <key>step</key> - <value>0.001</value> - </param> - <param> - <key>stop</key> - <value>2.0*math.pi*0.25</value> - </param> - <param> - <key>rangeType</key> - <value>float</value> - </param> - <param> - <key>widget</key> - <value>counter_slider</value> - </param> - </block> - <block> - <key>variable</key> - <param> - <key>comment</key> - <value></value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>_coordinate</key> - <value>(1848, 196)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>osps</value> - </param> - <param> - <key>value</key> - <value>1</value> - </param> - </block> - <block> - <key>variable_tag_object</key> - <param> - <key>comment</key> - <value></value> - </param> - <param> - <key>_enabled</key> - <value>1</value> - </param> - <param> - <key>_coordinate</key> - <value>(0, 544)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>packet_time_est_tag</value> - </param> - <param> - <key>key</key> - <value>pmt.intern("test")</value> - </param> - <param> - <key>offset</key> - <value>9</value> - </param> - <param> - <key>src</key> - <value>pmt.intern("packet_vector_source")</value> - </param> - <param> - <key>value</key> - <value>pmt.from_double(0.0)</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>(1488, 492)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>proportional_gain</value> - </param> - <param> - <key>value</key> - <value>2.0/ted_gain*math.exp(-zeta*omega_n_norm)*math.sinh(zeta*omega_n_norm)</value> - </param> - </block> - <block> - <key>variable_qtgui_label</key> - <param> - <key>comment</key> - <value></value> - </param> - <param> - <key>value</key> - <value>"%8.6f" % proportional_gain</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>formatter</key> - <value>None</value> - </param> - <param> - <key>_coordinate</key> - <value>(1984, 508)</value> - </param> - <param> - <key>gui_hint</key> - <value>1,2,1,1</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>proportional_gain_label</value> - </param> - <param> - <key>label</key> - <value>Proportional Gain</value> - </param> - <param> - <key>type</key> - <value>string</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>(1328, 228)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>sps</value> - </param> - <param> - <key>value</key> - <value>7</value> - </param> - </block> - <block> - <key>variable_qtgui_range</key> - <param> - <key>comment</key> - <value></value> - </param> - <param> - <key>value</key> - <value>0.28365</value> - </param> - <param> - <key>_enabled</key> - <value>1</value> - </param> - <param> - <key>_coordinate</key> - <value>(1808, 544)</value> - </param> - <param> - <key>gui_hint</key> - <value>1,0,1,1</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>ted_gain</value> - </param> - <param> - <key>label</key> - <value>Expected TED Gain</value> - </param> - <param> - <key>min_len</key> - <value>200</value> - </param> - <param> - <key>orient</key> - <value>Qt.Horizontal</value> - </param> - <param> - <key>start</key> - <value>0.05</value> - </param> - <param> - <key>step</key> - <value>0.01</value> - </param> - <param> - <key>stop</key> - <value>5.0</value> - </param> - <param> - <key>rangeType</key> - <value>float</value> - </param> - <param> - <key>widget</key> - <value>counter_slider</value> - </param> - </block> - <block> - <key>variable_qtgui_range</key> - <param> - <key>comment</key> - <value></value> - </param> - <param> - <key>value</key> - <value>1.0</value> - </param> - <param> - <key>_enabled</key> - <value>1</value> - </param> - <param> - <key>_coordinate</key> - <value>(1632, 544)</value> - </param> - <param> - <key>gui_hint</key> - <value>0,1,1,1</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>zeta</value> - </param> - <param> - <key>label</key> - <value>Damping Factor</value> - </param> - <param> - <key>min_len</key> - <value>200</value> - </param> - <param> - <key>orient</key> - <value>Qt.Horizontal</value> - </param> - <param> - <key>start</key> - <value>0.1</value> - </param> - <param> - <key>step</key> - <value>0.1</value> - </param> - <param> - <key>stop</key> - <value>5.0</value> - </param> - <param> - <key>rangeType</key> - <value>float</value> - </param> - <param> - <key>widget</key> - <value>counter_slider</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>1</value> - </param> - <param> - <key>_coordinate</key> - <value>(0, 128)</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>2</value> - </param> - <param> - <key>minoutbuf</key> - <value>0</value> - </param> - <param> - <key>min</key> - <value>0</value> - </param> - <param> - <key>num_samps</key> - <value>16384</value> - </param> - <param> - <key>type</key> - <value>short</value> - </param> - <param> - <key>repeat</key> - <value>True</value> - </param> - </block> - <block> - <key>blocks_multiply_matrix_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>_enabled</key> - <value>True</value> - </param> - <param> - <key>_coordinate</key> - <value>(360, 248)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>blocks_multiply_matrix_xx_0</value> - </param> - <param> - <key>type</key> - <value>float</value> - </param> - <param> - <key>A</key> - <value>(data_src,)</value> - </param> - <param> - <key>maxoutbuf</key> - <value>0</value> - </param> - <param> - <key>minoutbuf</key> - <value>0</value> - </param> - <param> - <key>tag_propagation_policy</key> - <value>gr.TPP_ALL_TO_ALL</value> - </param> - </block> - <block> - <key>blocks_repeat</key> - <param> - <key>alias</key> - <value></value> - </param> - <param> - <key>comment</key> - <value>Pulse Shaping</value> - </param> - <param> - <key>affinity</key> - <value></value> - </param> - <param> - <key>_enabled</key> - <value>1</value> - </param> - <param> - <key>_coordinate</key> - <value>(928, 324)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>blocks_repeat_0</value> - </param> - <param> - <key>interp</key> - <value>sps*2</value> - </param> - <param> - <key>maxoutbuf</key> - <value>0</value> - </param> - <param> - <key>minoutbuf</key> - <value>0</value> - </param> - <param> - <key>type</key> - <value>float</value> - </param> - <param> - <key>vlen</key> - <value>1</value> - </param> - </block> - <block> - <key>blocks_short_to_float</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, 148)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>blocks_short_to_float_1</value> - </param> - <param> - <key>maxoutbuf</key> - <value>0</value> - </param> - <param> - <key>minoutbuf</key> - <value>0</value> - </param> - <param> - <key>scale</key> - <value>1</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>1</value> - </param> - <param> - <key>_coordinate</key> - <value>(544, 324)</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>baud_rate*10</value> - </param> - <param> - <key>type</key> - <value>float</value> - </param> - <param> - <key>vlen</key> - <value>1</value> - </param> - </block> - <block> - <key>blocks_vector_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>1</value> - </param> - <param> - <key>_coordinate</key> - <value>(0, 300)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>blocks_vector_source_x_0_0</value> - </param> - <param> - <key>maxoutbuf</key> - <value>0</value> - </param> - <param> - <key>minoutbuf</key> - <value>0</value> - </param> - <param> - <key>type</key> - <value>float</value> - </param> - <param> - <key>repeat</key> - <value>True</value> - </param> - <param> - <key>tags</key> - <value>[]</value> - </param> - <param> - <key>vlen</key> - <value>1</value> - </param> - <param> - <key>vector</key> - <value>(0, 1, 0, 1, 0, 1, 0, 1)</value> - </param> - </block> - <block> - <key>blocks_vector_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>1</value> - </param> - <param> - <key>_coordinate</key> - <value>(0, 220)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>blocks_vector_source_x_0_0_0</value> - </param> - <param> - <key>maxoutbuf</key> - <value>0</value> - </param> - <param> - <key>minoutbuf</key> - <value>0</value> - </param> - <param> - <key>type</key> - <value>float</value> - </param> - <param> - <key>repeat</key> - <value>True</value> - </param> - <param> - <key>tags</key> - <value>[]</value> - </param> - <param> - <key>vlen</key> - <value>1</value> - </param> - <param> - <key>vector</key> - <value>(0,0,0,0,1,1,1,1)</value> - </param> - </block> - <block> - <key>blocks_vector_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>1</value> - </param> - <param> - <key>_coordinate</key> - <value>(0, 380)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>blocks_vector_source_x_0_0_1</value> - </param> - <param> - <key>maxoutbuf</key> - <value>0</value> - </param> - <param> - <key>minoutbuf</key> - <value>0</value> - </param> - <param> - <key>type</key> - <value>float</value> - </param> - <param> - <key>repeat</key> - <value>True</value> - </param> - <param> - <key>tags</key> - <value>[]</value> - </param> - <param> - <key>vlen</key> - <value>1</value> - </param> - <param> - <key>vector</key> - <value>[1]+[0]*7</value> - </param> - </block> - <block> - <key>blocks_vector_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>(0, 460)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>blocks_vector_source_x_0_0_1_0</value> - </param> - <param> - <key>maxoutbuf</key> - <value>0</value> - </param> - <param> - <key>minoutbuf</key> - <value>0</value> - </param> - <param> - <key>type</key> - <value>float</value> - </param> - <param> - <key>repeat</key> - <value>True</value> - </param> - <param> - <key>tags</key> - <value>[packet_time_est_tag]</value> - </param> - <param> - <key>vlen</key> - <value>1</value> - </param> - <param> - <key>vector</key> - <value>[1,0]*(4*12*0)+[1,1,0,1,0,1,0,1]*12+[1,0,1,1,1,1,1,0,0,1]+[1,1,1,1,0,1,1,0,0,1]+[1,0,1,1,1,1,1,0,0,1]+[0,1,1,1,0,1,1,0,1,0]+[0,0,0,0,0,1,0,1,0,1,1,0,0,1,1,1,0,0,0,0]+[2]*128</value> - </param> - </block> - <block> - <key>digital_symbol_sync_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>damping</key> - <value>zeta</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>ted_gain</key> - <value>ted_gain</value> - </param> - <param> - <key>nfilters</key> - <value>128</value> - </param> - <param> - <key>_coordinate</key> - <value>(1600, 276)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>type</key> - <value>ff</value> - </param> - <param> - <key>id</key> - <value>digital_symbol_sync_xx_0</value> - </param> - <param> - <key>resamp_type</key> - <value>digital.IR_MMSE_8TAP</value> - </param> - <param> - <key>loop_bw</key> - <value>omega_n_norm</value> - </param> - <param> - <key>maxoutbuf</key> - <value>0</value> - </param> - <param> - <key>max_dev</key> - <value>1.5</value> - </param> - <param> - <key>minoutbuf</key> - <value>0</value> - </param> - <param> - <key>osps</key> - <value>osps</value> - </param> - <param> - <key>pfb_mf_taps</key> - <value>[]</value> - </param> - <param> - <key>sps</key> - <value>sps</value> - </param> - <param> - <key>constellation</key> - <value>digital.constellation_bpsk().base()</value> - </param> - <param> - <key>ted_type</key> - <value>digital.TED_MUELLER_AND_MULLER</value> - </param> - </block> - <block> - <key>epy_block</key> - <param> - <key>alias</key> - <value></value> - </param> - <param> - <key>_io_cache</key> - <value>('Bit -> Symbol Map', 'ConstMap', [], [('0', 'float', 1)], [('0', 'float', 1)], '\n Map 0, 1 to -1, 1\n ', [])</value> - </param> - <param> - <key>_source_code</key> - <value>""" -Embedded Python Blocks: +options: + parameters: + author: Andy Walls + category: Custom + cmake_opt: '' + comment: '' + copyright: '' + description: '' + gen_cmake: 'On' + gen_linking: dynamic + generate_options: qt_gui + hier_block_src_path: '.:' + id: symbol_sync_test_float + 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: Symbol Sync Test (Float) + window_size: 2600, 700 + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [0, 0] + rotation: 0 + state: enabled -Each time this file is saved, GRC will instantiate the first class it finds -to get ports and parameters of your block. The arguments to __init__ will -be the parameters. All of them are required to have default values! -""" +blocks: +- name: baud_rate + id: variable + parameters: + comment: '' + value: '1200.0' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [552, 244] + rotation: 0 + state: enabled +- name: data_src + id: variable_qtgui_chooser + parameters: + comment: '' + gui_hint: 0,0,1,1 + label: Data Source + label0: Random + label1: Low freq + label2: Dot Pattern + label3: Pulse + label4: Packets + labels: '[]' + num_opts: '5' + option1: (0,1,0,0,0) + option2: (0,0,1,0,0) + option3: (0,0,0,1,0) + option4: (0,0,0,0,1) + options: '[0, 1, 2]' + orient: Qt.QVBoxLayout + type: raw + value: (0,0,0,0,1) + widget: combo_box + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [344, 0] + rotation: 0 + state: enabled +- name: integral_gain + id: variable + parameters: + comment: '' + value: 2.0/ted_gain*(1.0-math.exp(-zeta*omega_n_norm)*(math.sinh(zeta*omega_n_norm)+(math.cosh(omega_d_norm) + if zeta > 1.0 else math.cos(omega_d_norm)))) + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1488, 556] + rotation: 0 + state: enabled +- name: integral_gain_label + id: variable_qtgui_label + parameters: + comment: '' + formatter: None + gui_hint: 0,2,1,1 + label: Integral Gain + type: string + value: '"%8.6f" % integral_gain' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1984, 428] + rotation: 0 + state: enabled +- name: omega_d_norm + id: variable + parameters: + comment: '' + value: omega_n_norm*math.sqrt((zeta*zeta-1.0) if zeta > 1.0 else (1.0-zeta*zeta)) + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1488, 428] + rotation: 0 + state: enabled +- name: omega_n_norm + id: variable_qtgui_range + parameters: + comment: '' + gui_hint: 1,1,1,1 + label: Normalized Bandwidth + min_len: '200' + orient: Qt.Horizontal + rangeType: float + start: '0.0' + step: '0.001' + stop: 2.0*math.pi*0.25 + value: '0.125' + widget: counter_slider + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1632, 424] + rotation: 0 + state: enabled +- name: osps + id: variable + parameters: + comment: '' + value: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1848, 196] + rotation: 0 + state: enabled +- name: packet_time_est_tag + id: variable_tag_object + parameters: + comment: '' + key: pmt.intern("test") + offset: '9' + src: pmt.intern("packet_vector_source") + value: pmt.from_double(0.0) + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [0, 544] + rotation: 0 + state: enabled +- name: proportional_gain + id: variable + parameters: + comment: '' + value: 2.0/ted_gain*math.exp(-zeta*omega_n_norm)*math.sinh(zeta*omega_n_norm) + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1488, 492] + rotation: 0 + state: enabled +- name: proportional_gain_label + id: variable_qtgui_label + parameters: + comment: '' + formatter: None + gui_hint: 1,2,1,1 + label: Proportional Gain + type: string + value: '"%8.6f" % proportional_gain' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1984, 508] + rotation: 0 + state: enabled +- name: sps + id: variable + parameters: + comment: '' + value: '7' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1328, 228] + rotation: 0 + state: enabled +- name: ted_gain + id: variable_qtgui_range + parameters: + comment: '' + gui_hint: 1,0,1,1 + label: Expected TED Gain + min_len: '200' + orient: Qt.Horizontal + rangeType: float + start: '0.05' + step: '0.01' + stop: '5.0' + value: '0.28365' + widget: counter_slider + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1808, 544] + rotation: 0 + state: enabled +- name: zeta + id: variable_qtgui_range + parameters: + comment: '' + gui_hint: 0,1,1,1 + label: Damping Factor + min_len: '200' + orient: Qt.Horizontal + rangeType: float + start: '0.1' + step: '0.1' + stop: '5.0' + value: '1.0' + widget: counter_slider + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1632, 544] + rotation: 0 + state: enabled +- name: analog_random_source_x_0 + id: analog_random_source_x + parameters: + affinity: '' + alias: '' + comment: '' + max: '2' + maxoutbuf: '0' + min: '0' + minoutbuf: '0' + num_samps: '16384' + repeat: 'True' + type: short + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [0, 128] + rotation: 0 + state: enabled +- name: blocks_multiply_matrix_xx_0 + id: blocks_multiply_matrix_xx + parameters: + A: (data_src,) + affinity: '' + alias: '' + comment: '' + maxoutbuf: '0' + minoutbuf: '0' + tag_propagation_policy: gr.TPP_ALL_TO_ALL + type: float + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [360, 248] + rotation: 0 + state: enabled +- name: blocks_repeat_0 + id: blocks_repeat + parameters: + affinity: '' + alias: '' + comment: Pulse Shaping + interp: sps*2 + maxoutbuf: '0' + minoutbuf: '0' + type: float + vlen: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [928, 324] + rotation: 0 + state: enabled +- name: blocks_short_to_float_1 + id: blocks_short_to_float + parameters: + affinity: '' + alias: '' + comment: '' + maxoutbuf: '0' + minoutbuf: '0' + scale: '1' + vlen: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [192, 148] + rotation: 0 + state: enabled +- name: blocks_throttle_0 + id: blocks_throttle + parameters: + affinity: '' + alias: '' + comment: '' + ignoretag: 'True' + maxoutbuf: '0' + minoutbuf: '0' + samples_per_second: baud_rate*10 + type: float + vlen: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [544, 324] + rotation: 0 + state: enabled +- name: blocks_vector_source_x_0_0 + id: blocks_vector_source_x + parameters: + affinity: '' + alias: '' + comment: '' + maxoutbuf: '0' + minoutbuf: '0' + repeat: 'True' + tags: '[]' + type: float + vector: (0, 1, 0, 1, 0, 1, 0, 1) + vlen: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [0, 300] + rotation: 0 + state: enabled +- name: blocks_vector_source_x_0_0_0 + id: blocks_vector_source_x + parameters: + affinity: '' + alias: '' + comment: '' + maxoutbuf: '0' + minoutbuf: '0' + repeat: 'True' + tags: '[]' + type: float + vector: (0,0,0,0,1,1,1,1) + vlen: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [0, 220] + rotation: 0 + state: enabled +- name: blocks_vector_source_x_0_0_1 + id: blocks_vector_source_x + parameters: + affinity: '' + alias: '' + comment: '' + maxoutbuf: '0' + minoutbuf: '0' + repeat: 'True' + tags: '[]' + type: float + vector: '[1]+[0]*7' + vlen: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [0, 380] + rotation: 0 + state: enabled +- name: blocks_vector_source_x_0_0_1_0 + id: blocks_vector_source_x + parameters: + affinity: '' + alias: '' + comment: '' + maxoutbuf: '0' + minoutbuf: '0' + repeat: 'True' + tags: '[packet_time_est_tag]' + type: float + vector: '[1,0]*(4*12*0)+[1,1,0,1,0,1,0,1]*12+[1,0,1,1,1,1,1,0,0,1]+[1,1,1,1,0,1,1,0,0,1]+[1,0,1,1,1,1,1,0,0,1]+[0,1,1,1,0,1,1,0,1,0]+[0,0,0,0,0,1,0,1,0,1,1,0,0,1,1,1,0,0,0,0]+[2]*128' + vlen: '1' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [0, 460] + rotation: 0 + state: enabled +- name: digital_symbol_sync_xx_0 + id: digital_symbol_sync_xx + parameters: + affinity: '' + alias: '' + comment: '' + constellation: digital.constellation_bpsk().base() + damping: zeta + loop_bw: omega_n_norm + max_dev: '1.5' + maxoutbuf: '0' + minoutbuf: '0' + nfilters: '128' + osps: osps + pfb_mf_taps: '[]' + resamp_type: digital.IR_MMSE_8TAP + sps: sps + ted_gain: ted_gain + ted_type: digital.TED_MUELLER_AND_MULLER + type: ff + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1600, 276] + rotation: 0 + state: enabled +- name: epy_block_0 + id: epy_block + parameters: + _source_code: "\"\"\"\nEmbedded Python Blocks:\n\nEach time this file is saved,\ + \ GRC will instantiate the first class it finds\nto get ports and parameters\ + \ of your block. The arguments to __init__ will\nbe the parameters. All of\ + \ them are required to have default values!\n\"\"\"\n\nimport numpy as np\n\ + from gnuradio import gr\n\nclass ConstMap(gr.sync_block):\n \"\"\"\n Map\ + \ 0, 1 to -1, 1\n \"\"\"\n def __init__(self):\n gr.sync_block.__init__(\n\ + \ self,\n name='Bit -> Symbol Map',\n in_sig=[np.float32],\n\ + \ out_sig=[np.float32]\n )\n\n def work(self, input_items,\ + \ output_items):\n \"\"\"\n map\n \"\"\"\n sym_map\ + \ = {0.0: -1.0, 1.0: 1.0, 2.0: 0.0}\n output_items[0][:] = [sym_map[x]\ + \ for x in input_items[0]]\n return len(output_items[0])\n" + affinity: '' + alias: '' + comment: BPSK Modulation + maxoutbuf: '0' + minoutbuf: '0' + states: + _io_cache: ('Bit -> Symbol Map', 'ConstMap', [], [('0', 'float', 1)], [('0', 'float', + 1)], '\n Map 0, 1 to -1, 1\n ', []) + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [712, 328] + rotation: 0 + state: enabled +- name: fir_filter_xxx_0_1_0_0_0 + id: fir_filter_xxx + parameters: + affinity: '' + alias: '' + comment: "Matched Filter (almost). \nBecause the input stream has 6 2/3 \nsamples\ + \ per symbol, this incurs a slight ISI." + decim: '1' + maxoutbuf: '0' + minoutbuf: '0' + samp_delay: int((sps-1.0)/2.0)+4 + taps: '[1.0/float(sps)]*sps' + type: fff + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1336, 316] + rotation: 0 + state: enabled +- name: import_0 + id: import + parameters: + alias: '' + comment: '' + imports: import math + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [184, 4] + rotation: 0 + state: enabled +- name: import_0_0 + id: import + parameters: + alias: '' + comment: '' + imports: from gnuradio import digital + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [184, 52] + rotation: 0 + state: enabled +- name: note_0 + id: note + parameters: + alias: '' + comment: '' + note: Bit Pattern Generation + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [328, 452.0] + rotation: 0 + state: enabled +- name: qtgui_time_sink_x_0_0_0_0_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: 'False' + 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: 3,1,1,2 + label1: Soft Bits + label10: '' + label2: Error + label3: Instantaneous Period + label4: Average Period + label5: '' + label6: '' + label7: '' + label8: '' + label9: '' + legend: 'True' + marker1: '0' + marker10: '-1' + marker2: '-1' + marker3: '-1' + marker4: '-1' + marker5: '-1' + marker6: '-1' + marker7: '-1' + marker8: '-1' + marker9: '-1' + name: Symbol Synched Output and Debug + nconnections: '4' + size: 256*osps + srate: baud_rate*osps + 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.01' + tr_level: '0.1' + tr_mode: qtgui.TRIG_MODE_NORM + tr_slope: qtgui.TRIG_SLOPE_POS + tr_tag: '"time_est"' + type: float + update_time: '0.1' + width1: '1' + width10: '1' + width2: '1' + width3: '1' + width4: '1' + width5: '1' + width6: '1' + width7: '1' + width8: '1' + width9: '1' + ylabel: Amplitude + ymax: sps+2 + ymin: '-1.5' + yunit: '""' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1952, 280] + rotation: 0 + state: enabled +- name: qtgui_time_sink_x_0_1_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: 'False' + axislabels: 'True' + color1: '"blue"' + color10: '"blue"' + color2: '"red"' + color3: '"green"' + color4: '"black"' + color5: '"dark green"' + color6: '"magenta"' + color7: '"yellow"' + color8: '"dark red"' + color9: '"dark green"' + comment: '' + ctrlpanel: 'False' + entags: 'True' + grid: 'True' + gui_hint: 3,0,1,1 + label1: '' + label10: '' + label2: '' + label3: '' + label4: '' + label5: Baseband + label6: Abs(Corr) + 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: '""' + nconnections: '1' + size: 1024*3 + srate: baud_rate*sps + 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.01' + tr_level: '0.1' + tr_mode: qtgui.TRIG_MODE_NORM + 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.5' + ymin: '-1.5' + yunit: '""' + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1632, 172] + rotation: 0 + state: enabled +- name: rational_resampler_xxx_0 + id: rational_resampler_xxx + parameters: + affinity: '' + alias: '' + comment: "Resampling to 6 2/3 samples \nper symbol (\"clock desync\")" + decim: '21' + fbw: '0.45' + interp: '10' + maxoutbuf: '0' + minoutbuf: '0' + taps: '' + type: fff + states: + bus_sink: false + bus_source: false + bus_structure: null + coordinate: [1120, 304] + rotation: 0 + state: enabled -import numpy as np -from gnuradio import gr +connections: +- [analog_random_source_x_0, '0', blocks_short_to_float_1, '0'] +- [blocks_multiply_matrix_xx_0, '0', blocks_throttle_0, '0'] +- [blocks_repeat_0, '0', rational_resampler_xxx_0, '0'] +- [blocks_short_to_float_1, '0', blocks_multiply_matrix_xx_0, '0'] +- [blocks_throttle_0, '0', epy_block_0, '0'] +- [blocks_vector_source_x_0_0, '0', blocks_multiply_matrix_xx_0, '2'] +- [blocks_vector_source_x_0_0_0, '0', blocks_multiply_matrix_xx_0, '1'] +- [blocks_vector_source_x_0_0_1, '0', blocks_multiply_matrix_xx_0, '3'] +- [blocks_vector_source_x_0_0_1_0, '0', blocks_multiply_matrix_xx_0, '4'] +- [digital_symbol_sync_xx_0, '0', qtgui_time_sink_x_0_0_0_0_0, '0'] +- [digital_symbol_sync_xx_0, '1', qtgui_time_sink_x_0_0_0_0_0, '1'] +- [digital_symbol_sync_xx_0, '2', qtgui_time_sink_x_0_0_0_0_0, '2'] +- [digital_symbol_sync_xx_0, '3', qtgui_time_sink_x_0_0_0_0_0, '3'] +- [epy_block_0, '0', blocks_repeat_0, '0'] +- [fir_filter_xxx_0_1_0_0_0, '0', digital_symbol_sync_xx_0, '0'] +- [fir_filter_xxx_0_1_0_0_0, '0', qtgui_time_sink_x_0_1_0, '0'] +- [rational_resampler_xxx_0, '0', fir_filter_xxx_0_1_0_0_0, '0'] -class ConstMap(gr.sync_block): - """ - Map 0, 1 to -1, 1 - """ - def __init__(self): - gr.sync_block.__init__( - self, - name='Bit -> Symbol Map', - in_sig=[np.float32], - out_sig=[np.float32] - ) - - def work(self, input_items, output_items): - """ - map - """ - sym_map = {0.0: -1.0, 1.0: 1.0, 2.0: 0.0} - output_items[0][:] = [sym_map[x] for x in input_items[0]] - return len(output_items[0]) -</value> - </param> - <param> - <key>comment</key> - <value>BPSK Modulation</value> - </param> - <param> - <key>_enabled</key> - <value>1</value> - </param> - <param> - <key>_coordinate</key> - <value>(712, 328)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>epy_block_0</value> - </param> - </block> - <block> - <key>fir_filter_xxx</key> - <param> - <key>alias</key> - <value></value> - </param> - <param> - <key>comment</key> - <value>Matched Filter (almost). -Because the input stream has 6 2/3 -samples per symbol, this incurs a slight ISI.</value> - </param> - <param> - <key>affinity</key> - <value></value> - </param> - <param> - <key>decim</key> - <value>1</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>_coordinate</key> - <value>(1336, 316)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>fir_filter_xxx_0_1_0_0_0</value> - </param> - <param> - <key>maxoutbuf</key> - <value>0</value> - </param> - <param> - <key>minoutbuf</key> - <value>0</value> - </param> - <param> - <key>samp_delay</key> - <value>int((sps-1.0)/2.0)+4</value> - </param> - <param> - <key>taps</key> - <value>[1.0/float(sps)]*sps</value> - </param> - <param> - <key>type</key> - <value>fff</value> - </param> - </block> - <block> - <key>import</key> - <param> - <key>alias</key> - <value></value> - </param> - <param> - <key>comment</key> - <value></value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>_coordinate</key> - <value>(184, 4)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>import_0</value> - </param> - <param> - <key>import</key> - <value>import math</value> - </param> - </block> - <block> - <key>import</key> - <param> - <key>alias</key> - <value></value> - </param> - <param> - <key>comment</key> - <value></value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>_coordinate</key> - <value>(184, 52)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>import_0_0</value> - </param> - <param> - <key>import</key> - <value>from gnuradio import digital</value> - </param> - </block> - <block> - <key>note</key> - <param> - <key>alias</key> - <value></value> - </param> - <param> - <key>comment</key> - <value></value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>_coordinate</key> - <value>(320, 316)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>note_0</value> - </param> - <param> - <key>note</key> - <value>Bit Pattern Generation</value> - </param> - </block> - <block> - <key>qtgui_time_sink_x</key> - <param> - <key>autoscale</key> - <value>False</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>1</value> - </param> - <param> - <key>_coordinate</key> - <value>(1952, 280)</value> - </param> - <param> - <key>gui_hint</key> - <value>3,1,1,2</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_0_0_0_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>Soft Bits</value> - </param> - <param> - <key>marker1</key> - <value>0</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>Error</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>Instantaneous Period</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>Average Period</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>Symbol Synched Output and Debug</value> - </param> - <param> - <key>nconnections</key> - <value>4</value> - </param> - <param> - <key>size</key> - <value>256*osps</value> - </param> - <param> - <key>srate</key> - <value>baud_rate*osps</value> - </param> - <param> - <key>tr_chan</key> - <value>0</value> - </param> - <param> - <key>tr_delay</key> - <value>0.01</value> - </param> - <param> - <key>tr_level</key> - <value>0.1</value> - </param> - <param> - <key>tr_mode</key> - <value>qtgui.TRIG_MODE_NORM</value> - </param> - <param> - <key>tr_slope</key> - <value>qtgui.TRIG_SLOPE_POS</value> - </param> - <param> - <key>tr_tag</key> - <value>"time_est"</value> - </param> - <param> - <key>type</key> - <value>float</value> - </param> - <param> - <key>update_time</key> - <value>0.1</value> - </param> - <param> - <key>ylabel</key> - <value>Amplitude</value> - </param> - <param> - <key>yunit</key> - <value>""</value> - </param> - <param> - <key>ymax</key> - <value>sps+2</value> - </param> - <param> - <key>ymin</key> - <value>-1.5</value> - </param> - </block> - <block> - <key>qtgui_time_sink_x</key> - <param> - <key>autoscale</key> - <value>False</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>(1632, 172)</value> - </param> - <param> - <key>gui_hint</key> - <value>3,0,1,1</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>grid</key> - <value>True</value> - </param> - <param> - <key>id</key> - <value>qtgui_time_sink_x_0_1_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>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>"dark green"</value> - </param> - <param> - <key>label5</key> - <value>Baseband</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>Abs(Corr)</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>""</value> - </param> - <param> - <key>nconnections</key> - <value>1</value> - </param> - <param> - <key>size</key> - <value>1024*3</value> - </param> - <param> - <key>srate</key> - <value>baud_rate*sps</value> - </param> - <param> - <key>tr_chan</key> - <value>0</value> - </param> - <param> - <key>tr_delay</key> - <value>0.01</value> - </param> - <param> - <key>tr_level</key> - <value>0.1</value> - </param> - <param> - <key>tr_mode</key> - <value>qtgui.TRIG_MODE_NORM</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>float</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.5</value> - </param> - <param> - <key>ymin</key> - <value>-1.5</value> - </param> - </block> - <block> - <key>rational_resampler_xxx</key> - <param> - <key>alias</key> - <value></value> - </param> - <param> - <key>comment</key> - <value>Resampling to 6 2/3 samples -per symbol ("clock desync")</value> - </param> - <param> - <key>affinity</key> - <value></value> - </param> - <param> - <key>decim</key> - <value>21</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>fbw</key> - <value>0.45</value> - </param> - <param> - <key>_coordinate</key> - <value>(1120, 304)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>rational_resampler_xxx_0</value> - </param> - <param> - <key>interp</key> - <value>10</value> - </param> - <param> - <key>maxoutbuf</key> - <value>0</value> - </param> - <param> - <key>minoutbuf</key> - <value>0</value> - </param> - <param> - <key>taps</key> - <value></value> - </param> - <param> - <key>type</key> - <value>fff</value> - </param> - </block> - <connection> - <source_block_id>analog_random_source_x_0</source_block_id> - <sink_block_id>blocks_short_to_float_1</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>blocks_multiply_matrix_xx_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_repeat_0</source_block_id> - <sink_block_id>rational_resampler_xxx_0</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>blocks_short_to_float_1</source_block_id> - <sink_block_id>blocks_multiply_matrix_xx_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>epy_block_0</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>blocks_vector_source_x_0_0</source_block_id> - <sink_block_id>blocks_multiply_matrix_xx_0</sink_block_id> - <source_key>0</source_key> - <sink_key>2</sink_key> - </connection> - <connection> - <source_block_id>blocks_vector_source_x_0_0_0</source_block_id> - <sink_block_id>blocks_multiply_matrix_xx_0</sink_block_id> - <source_key>0</source_key> - <sink_key>1</sink_key> - </connection> - <connection> - <source_block_id>blocks_vector_source_x_0_0_1</source_block_id> - <sink_block_id>blocks_multiply_matrix_xx_0</sink_block_id> - <source_key>0</source_key> - <sink_key>3</sink_key> - </connection> - <connection> - <source_block_id>blocks_vector_source_x_0_0_1_0</source_block_id> - <sink_block_id>blocks_multiply_matrix_xx_0</sink_block_id> - <source_key>0</source_key> - <sink_key>4</sink_key> - </connection> - <connection> - <source_block_id>digital_symbol_sync_xx_0</source_block_id> - <sink_block_id>qtgui_time_sink_x_0_0_0_0_0</sink_block_id> - <source_key>3</source_key> - <sink_key>3</sink_key> - </connection> - <connection> - <source_block_id>digital_symbol_sync_xx_0</source_block_id> - <sink_block_id>qtgui_time_sink_x_0_0_0_0_0</sink_block_id> - <source_key>2</source_key> - <sink_key>2</sink_key> - </connection> - <connection> - <source_block_id>digital_symbol_sync_xx_0</source_block_id> - <sink_block_id>qtgui_time_sink_x_0_0_0_0_0</sink_block_id> - <source_key>1</source_key> - <sink_key>1</sink_key> - </connection> - <connection> - <source_block_id>digital_symbol_sync_xx_0</source_block_id> - <sink_block_id>qtgui_time_sink_x_0_0_0_0_0</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>epy_block_0</source_block_id> - <sink_block_id>blocks_repeat_0</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>fir_filter_xxx_0_1_0_0_0</source_block_id> - <sink_block_id>digital_symbol_sync_xx_0</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>fir_filter_xxx_0_1_0_0_0</source_block_id> - <sink_block_id>qtgui_time_sink_x_0_1_0</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>rational_resampler_xxx_0</source_block_id> - <sink_block_id>fir_filter_xxx_0_1_0_0_0</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> -</flow_graph> +metadata: + file_format: 1 |