diff options
author | Johnathan Corgan <johnathan@corganlabs.com> | 2017-09-22 15:46:15 -0700 |
---|---|---|
committer | Johnathan Corgan <johnathan@corganlabs.com> | 2017-09-22 15:46:15 -0700 |
commit | c7b6e84d77649ebdc4e294b129fa96befdb6fa67 (patch) | |
tree | 222c3711ae510fa9a64717218c77acfab3527146 /gr-digital/examples/demod | |
parent | c504a917196a6c2e44490ba43ff6a0e8573a17b2 (diff) | |
parent | 8aa965c64e654c05397c742514e95507b8995dba (diff) |
Merge branch 'master' into next
Diffstat (limited to 'gr-digital/examples/demod')
-rw-r--r-- | gr-digital/examples/demod/symbol_sync_test_complex.grc | 778 | ||||
-rw-r--r-- | gr-digital/examples/demod/symbol_sync_test_float.grc | 693 |
2 files changed, 396 insertions, 1075 deletions
diff --git a/gr-digital/examples/demod/symbol_sync_test_complex.grc b/gr-digital/examples/demod/symbol_sync_test_complex.grc index 77bacdeb12..28812e20cd 100644 --- a/gr-digital/examples/demod/symbol_sync_test_complex.grc +++ b/gr-digital/examples/demod/symbol_sync_test_complex.grc @@ -1,25 +1,5 @@ <?xml version='1.0' encoding='utf-8'?> <?grc format='1' created='3.7.12'?> -<!-- - Copyright (C) 2017 Free Software Foundation - - This file is part of GNU Radio - - GNU Radio is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3, or (at your option) - any later version. - - GNU Radio is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with GNU Radio; see the file COPYING. If not, write to - the Free Software Foundation, Inc., 51 Franklin Street, - Boston, MA 02110-1301, USA. ---> <flow_graph> <timestamp>Mon Jan 12 16:38:01 2015</timestamp> <block> @@ -50,7 +30,7 @@ </param> <param> <key>_coordinate</key> - <value>(10, 10)</value> + <value>(0, 0)</value> </param> <param> <key>_rotation</key> @@ -66,7 +46,7 @@ </param> <param> <key>id</key> - <value>symbol_sync_test_complex</value> + <value>symbol_sync_test_float</value> </param> <param> <key>max_nouts</key> @@ -98,7 +78,7 @@ </param> <param> <key>title</key> - <value>Symbol Sync Test (Complex)</value> + <value>Symbol Sync Test (Float)</value> </param> </block> <block> @@ -136,7 +116,7 @@ </param> <param> <key>value</key> - <value>4</value> + <value>(0,0,0,0,1)</value> </param> <param> <key>_enabled</key> @@ -144,7 +124,7 @@ </param> <param> <key>_coordinate</key> - <value>(392, 48)</value> + <value>(344, 0)</value> </param> <param> <key>gui_hint</key> @@ -180,7 +160,7 @@ </param> <param> <key>label</key> - <value></value> + <value>Data Source</value> </param> <param> <key>labels</key> @@ -192,23 +172,23 @@ </param> <param> <key>option0</key> - <value>0</value> + <value>(1,0,0,0,0)</value> </param> <param> <key>option1</key> - <value>1</value> + <value>(0,1,0,0,0)</value> </param> <param> <key>option2</key> - <value>2</value> + <value>(0,0,1,0,0)</value> </param> <param> <key>option3</key> - <value>3</value> + <value>(0,0,0,1,0)</value> </param> <param> <key>option4</key> - <value>4</value> + <value>(0,0,0,0,1)</value> </param> <param> <key>options</key> @@ -220,7 +200,7 @@ </param> <param> <key>type</key> - <value>int</value> + <value>raw</value> </param> <param> <key>widget</key> @@ -239,7 +219,7 @@ </param> <param> <key>_coordinate</key> - <value>(2288, 588)</value> + <value>(1488, 556)</value> </param> <param> <key>_rotation</key> @@ -274,7 +254,7 @@ </param> <param> <key>_coordinate</key> - <value>(2760, 484)</value> + <value>(1984, 460)</value> </param> <param> <key>gui_hint</key> @@ -309,7 +289,7 @@ </param> <param> <key>_coordinate</key> - <value>(2288, 460)</value> + <value>(1488, 428)</value> </param> <param> <key>_rotation</key> @@ -332,7 +312,7 @@ </param> <param> <key>value</key> - <value>0.25</value> + <value>0.125</value> </param> <param> <key>_enabled</key> @@ -340,7 +320,7 @@ </param> <param> <key>_coordinate</key> - <value>(2440, 568)</value> + <value>(1632, 424)</value> </param> <param> <key>gui_hint</key> @@ -399,7 +379,7 @@ </param> <param> <key>_coordinate</key> - <value>(2608, 212)</value> + <value>(2128, 196)</value> </param> <param> <key>_rotation</key> @@ -426,7 +406,7 @@ </param> <param> <key>_coordinate</key> - <value>(8, 600)</value> + <value>(0, 544)</value> </param> <param> <key>_rotation</key> @@ -465,7 +445,7 @@ </param> <param> <key>_coordinate</key> - <value>(2288, 524)</value> + <value>(1488, 492)</value> </param> <param> <key>_rotation</key> @@ -500,7 +480,7 @@ </param> <param> <key>_coordinate</key> - <value>(2760, 564)</value> + <value>(1984, 540)</value> </param> <param> <key>gui_hint</key> @@ -535,7 +515,7 @@ </param> <param> <key>_coordinate</key> - <value>(1336, 236)</value> + <value>(1280, 228)</value> </param> <param> <key>_rotation</key> @@ -558,7 +538,7 @@ </param> <param> <key>value</key> - <value>1.0</value> + <value>0.28365</value> </param> <param> <key>_enabled</key> @@ -566,7 +546,7 @@ </param> <param> <key>_coordinate</key> - <value>(2608, 568)</value> + <value>(1808, 544)</value> </param> <param> <key>gui_hint</key> @@ -629,7 +609,7 @@ </param> <param> <key>_coordinate</key> - <value>(2440, 448)</value> + <value>(1632, 544)</value> </param> <param> <key>gui_hint</key> @@ -696,7 +676,7 @@ </param> <param> <key>_coordinate</key> - <value>(8, 192)</value> + <value>(0, 128)</value> </param> <param> <key>_rotation</key> @@ -736,151 +716,6 @@ </param> </block> <block> - <key>blocks_add_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>(448, 264)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>blocks_add_xx_0</value> - </param> - <param> - <key>type</key> - <value>short</value> - </param> - <param> - <key>maxoutbuf</key> - <value>0</value> - </param> - <param> - <key>minoutbuf</key> - <value>0</value> - </param> - <param> - <key>num_inputs</key> - <value>5</value> - </param> - <param> - <key>vlen</key> - <value>1</value> - </param> - </block> - <block> - <key>blocks_char_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>(1160, 324)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>blocks_char_to_float_2</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_float_to_char</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>(872, 324)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>blocks_float_to_char_0</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_float_to_complex</key> <param> <key>alias</key> @@ -900,7 +735,7 @@ </param> <param> <key>_coordinate</key> - <value>(2752, 328)</value> + <value>(2248, 328)</value> </param> <param> <key>_rotation</key> @@ -943,7 +778,7 @@ </param> <param> <key>_coordinate</key> - <value>(2752, 392)</value> + <value>(2248, 392)</value> </param> <param> <key>_rotation</key> @@ -986,7 +821,7 @@ </param> <param> <key>_coordinate</key> - <value>(1936, 328)</value> + <value>(1512, 328)</value> </param> <param> <key>_rotation</key> @@ -1021,160 +856,7 @@ </param> <param> <key>const</key> - <value>1 if data_src == 4 else 0</value> - </param> - <param> - <key>affinity</key> - <value></value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>_coordinate</key> - <value>(224, 540)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>blocks_multiply_const_vxx_0</value> - </param> - <param> - <key>type</key> - <value>short</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>1 if data_src == 3 else 0</value> - </param> - <param> - <key>affinity</key> - <value></value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>_coordinate</key> - <value>(216, 460)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>blocks_multiply_const_vxx_0_0</value> - </param> - <param> - <key>type</key> - <value>short</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>1 if data_src == 2 else 0</value> - </param> - <param> - <key>affinity</key> - <value></value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>_coordinate</key> - <value>(216, 380)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>blocks_multiply_const_vxx_0_0_0</value> - </param> - <param> - <key>type</key> - <value>short</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>1 if data_src == 1 else 0</value> + <value>0.707+0.707j</value> </param> <param> <key>affinity</key> @@ -1186,7 +868,7 @@ </param> <param> <key>_coordinate</key> - <value>(216, 308)</value> + <value>(1696, 340)</value> </param> <param> <key>_rotation</key> @@ -1194,11 +876,11 @@ </param> <param> <key>id</key> - <value>blocks_multiply_const_vxx_0_0_0_0</value> + <value>blocks_multiply_const_vxx_1</value> </param> <param> <key>type</key> - <value>short</value> + <value>complex</value> </param> <param> <key>maxoutbuf</key> @@ -1214,7 +896,7 @@ </param> </block> <block> - <key>blocks_multiply_const_vxx</key> + <key>blocks_multiply_matrix_xx</key> <param> <key>alias</key> <value></value> @@ -1224,10 +906,6 @@ <value></value> </param> <param> - <key>const</key> - <value>1 if data_src == 0 else 0</value> - </param> - <param> <key>affinity</key> <value></value> </param> @@ -1237,7 +915,7 @@ </param> <param> <key>_coordinate</key> - <value>(208, 212)</value> + <value>(360, 248)</value> </param> <param> <key>_rotation</key> @@ -1245,62 +923,15 @@ </param> <param> <key>id</key> - <value>blocks_multiply_const_vxx_0_0_0_0_0</value> + <value>blocks_multiply_matrix_xx_0</value> </param> <param> <key>type</key> - <value>short</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>(2128, 340)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>blocks_multiply_const_vxx_1</value> + <value>float</value> </param> <param> - <key>type</key> - <value>complex</value> + <key>A</key> + <value>(data_src,)</value> </param> <param> <key>maxoutbuf</key> @@ -1311,8 +942,8 @@ <value>0</value> </param> <param> - <key>vlen</key> - <value>1</value> + <key>tag_propagation_policy</key> + <value>gr.TPP_ALL_TO_ALL</value> </param> </block> <block> @@ -1323,7 +954,7 @@ </param> <param> <key>comment</key> - <value></value> + <value>Pulse Shaping</value> </param> <param> <key>affinity</key> @@ -1335,7 +966,7 @@ </param> <param> <key>_coordinate</key> - <value>(1312, 324)</value> + <value>(912, 332)</value> </param> <param> <key>_rotation</key> @@ -1343,7 +974,7 @@ </param> <param> <key>id</key> - <value>blocks_repeat_0</value> + <value>blocks_repeat_0_0</value> </param> <param> <key>interp</key> @@ -1386,7 +1017,7 @@ </param> <param> <key>_coordinate</key> - <value>(712, 324)</value> + <value>(192, 148)</value> </param> <param> <key>_rotation</key> @@ -1394,7 +1025,7 @@ </param> <param> <key>id</key> - <value>blocks_short_to_float_0</value> + <value>blocks_short_to_float_1</value> </param> <param> <key>maxoutbuf</key> @@ -1461,7 +1092,7 @@ </param> <param> <key>type</key> - <value>short</value> + <value>float</value> </param> <param> <key>vlen</key> @@ -1488,7 +1119,7 @@ </param> <param> <key>_coordinate</key> - <value>(8, 364)</value> + <value>(0, 300)</value> </param> <param> <key>_rotation</key> @@ -1508,7 +1139,7 @@ </param> <param> <key>type</key> - <value>short</value> + <value>float</value> </param> <param> <key>repeat</key> @@ -1547,7 +1178,7 @@ </param> <param> <key>_coordinate</key> - <value>(8, 284)</value> + <value>(0, 220)</value> </param> <param> <key>_rotation</key> @@ -1567,7 +1198,7 @@ </param> <param> <key>type</key> - <value>short</value> + <value>float</value> </param> <param> <key>repeat</key> @@ -1606,7 +1237,7 @@ </param> <param> <key>_coordinate</key> - <value>(8, 444)</value> + <value>(0, 380)</value> </param> <param> <key>_rotation</key> @@ -1626,7 +1257,7 @@ </param> <param> <key>type</key> - <value>short</value> + <value>float</value> </param> <param> <key>repeat</key> @@ -1665,7 +1296,7 @@ </param> <param> <key>_coordinate</key> - <value>(8, 524)</value> + <value>(0, 460)</value> </param> <param> <key>_rotation</key> @@ -1685,7 +1316,7 @@ </param> <param> <key>type</key> - <value>short</value> + <value>float</value> </param> <param> <key>repeat</key> @@ -1705,49 +1336,6 @@ </param> </block> <block> - <key>digital_map_bb</key> - <param> - <key>alias</key> - <value></value> - </param> - <param> - <key>comment</key> - <value></value> - </param> - <param> - <key>affinity</key> - <value></value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>_coordinate</key> - <value>(1024, 324)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>digital_map_bb_0</value> - </param> - <param> - <key>map</key> - <value>[-1, 1,0]</value> - </param> - <param> - <key>maxoutbuf</key> - <value>0</value> - </param> - <param> - <key>minoutbuf</key> - <value>0</value> - </param> - </block> - <block> <key>digital_symbol_sync_xx</key> <param> <key>alias</key> @@ -1779,7 +1367,7 @@ </param> <param> <key>_coordinate</key> - <value>(2376, 292)</value> + <value>(1920, 292)</value> </param> <param> <key>_rotation</key> @@ -1827,7 +1415,7 @@ </param> <param> <key>constellation</key> - <value>digital.constellation_qpsk().base()</value> + <value>digital.constellation_bpsk().base()</value> </param> <param> <key>ted_type</key> @@ -1835,16 +1423,83 @@ </param> </block> <block> - <key>fir_filter_xxx</key> + <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: + +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! +""" + +import numpy as np +from gnuradio import gr + +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> @@ -1858,7 +1513,7 @@ </param> <param> <key>_coordinate</key> - <value>(1688, 316)</value> + <value>(1264, 324)</value> </param> <param> <key>_rotation</key> @@ -1866,7 +1521,7 @@ </param> <param> <key>id</key> - <value>fir_filter_xxx_0_1_0_0_0</value> + <value>fir_filter_xxx_0_1_0_0_0_0</value> </param> <param> <key>maxoutbuf</key> @@ -1905,7 +1560,7 @@ </param> <param> <key>_coordinate</key> - <value>(184, 12)</value> + <value>(184, 4)</value> </param> <param> <key>_rotation</key> @@ -1921,6 +1576,68 @@ </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> @@ -1956,7 +1673,7 @@ </param> <param> <key>_coordinate</key> - <value>(2992, 296)</value> + <value>(2472, 296)</value> </param> <param> <key>gui_hint</key> @@ -1972,7 +1689,7 @@ </param> <param> <key>id</key> - <value>qtgui_time_sink_x_0_0_0_0_0</value> + <value>qtgui_time_sink_x_0_0_0_0_0_0</value> </param> <param> <key>legend</key> @@ -2319,7 +2036,7 @@ </param> <param> <key>_coordinate</key> - <value>(2376, 204)</value> + <value>(1920, 196)</value> </param> <param> <key>gui_hint</key> @@ -2351,7 +2068,7 @@ </param> <param> <key>label1</key> - <value>Re</value> + <value></value> </param> <param> <key>marker1</key> @@ -2399,7 +2116,7 @@ </param> <param> <key>label2</key> - <value>Im</value> + <value></value> </param> <param> <key>marker2</key> @@ -2654,7 +2371,8 @@ </param> <param> <key>comment</key> - <value></value> + <value>Resampling to 6 2/3 samples +per symbol ("clock desync")</value> </param> <param> <key>affinity</key> @@ -2674,7 +2392,7 @@ </param> <param> <key>_coordinate</key> - <value>(1480, 304)</value> + <value>(1080, 312)</value> </param> <param> <key>_rotation</key> @@ -2707,37 +2425,19 @@ </block> <connection> <source_block_id>analog_random_source_x_0</source_block_id> - <sink_block_id>blocks_multiply_const_vxx_0_0_0_0_0</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>blocks_add_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_char_to_float_2</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>blocks_float_to_char_0</source_block_id> - <sink_block_id>digital_map_bb_0</sink_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</sink_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</sink_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> @@ -2748,94 +2448,64 @@ <sink_key>0</sink_key> </connection> <connection> - <source_block_id>blocks_multiply_const_vxx_0</source_block_id> - <sink_block_id>blocks_add_xx_0</sink_block_id> - <source_key>0</source_key> - <sink_key>4</sink_key> - </connection> - <connection> - <source_block_id>blocks_multiply_const_vxx_0_0</source_block_id> - <sink_block_id>blocks_add_xx_0</sink_block_id> - <source_key>0</source_key> - <sink_key>3</sink_key> - </connection> - <connection> - <source_block_id>blocks_multiply_const_vxx_0_0_0</source_block_id> - <sink_block_id>blocks_add_xx_0</sink_block_id> - <source_key>0</source_key> - <sink_key>2</sink_key> - </connection> - <connection> - <source_block_id>blocks_multiply_const_vxx_0_0_0_0</source_block_id> - <sink_block_id>blocks_add_xx_0</sink_block_id> - <source_key>0</source_key> - <sink_key>1</sink_key> - </connection> - <connection> - <source_block_id>blocks_multiply_const_vxx_0_0_0_0_0</source_block_id> - <sink_block_id>blocks_add_xx_0</sink_block_id> + <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>digital_symbol_sync_xx_0</sink_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_const_vxx_1</source_block_id> - <sink_block_id>qtgui_time_sink_x_0_1_0</sink_block_id> + <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> + <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_0</source_block_id> - <sink_block_id>blocks_float_to_char_0</sink_block_id> + <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>blocks_short_to_float_0</sink_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_const_vxx_0_0_0</sink_block_id> + <sink_block_id>blocks_multiply_matrix_xx_0</sink_block_id> <source_key>0</source_key> - <sink_key>0</sink_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_const_vxx_0_0_0_0</sink_block_id> + <sink_block_id>blocks_multiply_matrix_xx_0</sink_block_id> <source_key>0</source_key> - <sink_key>0</sink_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_const_vxx_0_0</sink_block_id> + <sink_block_id>blocks_multiply_matrix_xx_0</sink_block_id> <source_key>0</source_key> - <sink_key>0</sink_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_const_vxx_0</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>digital_map_bb_0</source_block_id> - <sink_block_id>blocks_char_to_float_2</sink_block_id> + <sink_block_id>blocks_multiply_matrix_xx_0</sink_block_id> <source_key>0</source_key> - <sink_key>0</sink_key> + <sink_key>4</sink_key> </connection> <connection> <source_block_id>digital_symbol_sync_xx_0</source_block_id> @@ -2857,19 +2527,25 @@ </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> + <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</source_block_id> + <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</sink_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> diff --git a/gr-digital/examples/demod/symbol_sync_test_float.grc b/gr-digital/examples/demod/symbol_sync_test_float.grc index ce1b24ba4b..f072b1cd89 100644 --- a/gr-digital/examples/demod/symbol_sync_test_float.grc +++ b/gr-digital/examples/demod/symbol_sync_test_float.grc @@ -1,25 +1,5 @@ <?xml version='1.0' encoding='utf-8'?> <?grc format='1' created='3.7.12'?> -<!-- - Copyright (C) 2017 Free Software Foundation - - This file is part of GNU Radio - - GNU Radio is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3, or (at your option) - any later version. - - GNU Radio is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with GNU Radio; see the file COPYING. If not, write to - the Free Software Foundation, Inc., 51 Franklin Street, - Boston, MA 02110-1301, USA. ---> <flow_graph> <timestamp>Mon Jan 12 16:38:01 2015</timestamp> <block> @@ -50,7 +30,7 @@ </param> <param> <key>_coordinate</key> - <value>(10, 10)</value> + <value>(0, 0)</value> </param> <param> <key>_rotation</key> @@ -136,7 +116,7 @@ </param> <param> <key>value</key> - <value>4</value> + <value>(0,0,0,0,1)</value> </param> <param> <key>_enabled</key> @@ -144,7 +124,7 @@ </param> <param> <key>_coordinate</key> - <value>(392, 48)</value> + <value>(344, 0)</value> </param> <param> <key>gui_hint</key> @@ -180,7 +160,7 @@ </param> <param> <key>label</key> - <value></value> + <value>Data Source</value> </param> <param> <key>labels</key> @@ -192,23 +172,23 @@ </param> <param> <key>option0</key> - <value>0</value> + <value>(1,0,0,0,0)</value> </param> <param> <key>option1</key> - <value>1</value> + <value>(0,1,0,0,0)</value> </param> <param> <key>option2</key> - <value>2</value> + <value>(0,0,1,0,0)</value> </param> <param> <key>option3</key> - <value>3</value> + <value>(0,0,0,1,0)</value> </param> <param> <key>option4</key> - <value>4</value> + <value>(0,0,0,0,1)</value> </param> <param> <key>options</key> @@ -220,7 +200,7 @@ </param> <param> <key>type</key> - <value>int</value> + <value>raw</value> </param> <param> <key>widget</key> @@ -239,7 +219,7 @@ </param> <param> <key>_coordinate</key> - <value>(1800, 548)</value> + <value>(1488, 556)</value> </param> <param> <key>_rotation</key> @@ -274,7 +254,7 @@ </param> <param> <key>_coordinate</key> - <value>(2296, 420)</value> + <value>(1984, 428)</value> </param> <param> <key>gui_hint</key> @@ -309,7 +289,7 @@ </param> <param> <key>_coordinate</key> - <value>(1800, 420)</value> + <value>(1488, 428)</value> </param> <param> <key>_rotation</key> @@ -340,7 +320,7 @@ </param> <param> <key>_coordinate</key> - <value>(1944, 416)</value> + <value>(1632, 424)</value> </param> <param> <key>gui_hint</key> @@ -399,7 +379,7 @@ </param> <param> <key>_coordinate</key> - <value>(2192, 196)</value> + <value>(1848, 196)</value> </param> <param> <key>_rotation</key> @@ -426,7 +406,7 @@ </param> <param> <key>_coordinate</key> - <value>(8, 600)</value> + <value>(0, 544)</value> </param> <param> <key>_rotation</key> @@ -465,7 +445,7 @@ </param> <param> <key>_coordinate</key> - <value>(1800, 484)</value> + <value>(1488, 492)</value> </param> <param> <key>_rotation</key> @@ -500,7 +480,7 @@ </param> <param> <key>_coordinate</key> - <value>(2296, 500)</value> + <value>(1984, 508)</value> </param> <param> <key>gui_hint</key> @@ -566,7 +546,7 @@ </param> <param> <key>_coordinate</key> - <value>(2120, 536)</value> + <value>(1808, 544)</value> </param> <param> <key>gui_hint</key> @@ -629,7 +609,7 @@ </param> <param> <key>_coordinate</key> - <value>(1944, 536)</value> + <value>(1632, 544)</value> </param> <param> <key>gui_hint</key> @@ -696,7 +676,7 @@ </param> <param> <key>_coordinate</key> - <value>(8, 192)</value> + <value>(0, 128)</value> </param> <param> <key>_rotation</key> @@ -736,254 +716,7 @@ </param> </block> <block> - <key>blocks_add_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>(448, 264)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>blocks_add_xx_0</value> - </param> - <param> - <key>type</key> - <value>short</value> - </param> - <param> - <key>maxoutbuf</key> - <value>0</value> - </param> - <param> - <key>minoutbuf</key> - <value>0</value> - </param> - <param> - <key>num_inputs</key> - <value>5</value> - </param> - <param> - <key>vlen</key> - <value>1</value> - </param> - </block> - <block> - <key>blocks_char_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>(1160, 324)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>blocks_char_to_float_2</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_float_to_char</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>(872, 324)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>blocks_float_to_char_0</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_multiply_const_vxx</key> - <param> - <key>alias</key> - <value></value> - </param> - <param> - <key>comment</key> - <value></value> - </param> - <param> - <key>const</key> - <value>1 if data_src == 4 else 0</value> - </param> - <param> - <key>affinity</key> - <value></value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>_coordinate</key> - <value>(224, 540)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>blocks_multiply_const_vxx_0</value> - </param> - <param> - <key>type</key> - <value>short</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>1 if data_src == 3 else 0</value> - </param> - <param> - <key>affinity</key> - <value></value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>_coordinate</key> - <value>(216, 460)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>blocks_multiply_const_vxx_0_0</value> - </param> - <param> - <key>type</key> - <value>short</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> + <key>blocks_multiply_matrix_xx</key> <param> <key>alias</key> <value></value> @@ -993,10 +726,6 @@ <value></value> </param> <param> - <key>const</key> - <value>1 if data_src == 2 else 0</value> - </param> - <param> <key>affinity</key> <value></value> </param> @@ -1006,7 +735,7 @@ </param> <param> <key>_coordinate</key> - <value>(216, 380)</value> + <value>(360, 248)</value> </param> <param> <key>_rotation</key> @@ -1014,113 +743,15 @@ </param> <param> <key>id</key> - <value>blocks_multiply_const_vxx_0_0_0</value> + <value>blocks_multiply_matrix_xx_0</value> </param> <param> <key>type</key> - <value>short</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>1 if data_src == 1 else 0</value> - </param> - <param> - <key>affinity</key> - <value></value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>_coordinate</key> - <value>(216, 308)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>blocks_multiply_const_vxx_0_0_0_0</value> - </param> - <param> - <key>type</key> - <value>short</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>1 if data_src == 0 else 0</value> - </param> - <param> - <key>affinity</key> - <value></value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>_coordinate</key> - <value>(208, 212)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> + <value>float</value> </param> <param> - <key>id</key> - <value>blocks_multiply_const_vxx_0_0_0_0_0</value> - </param> - <param> - <key>type</key> - <value>short</value> + <key>A</key> + <value>(data_src,)</value> </param> <param> <key>maxoutbuf</key> @@ -1131,8 +762,8 @@ <value>0</value> </param> <param> - <key>vlen</key> - <value>1</value> + <key>tag_propagation_policy</key> + <value>gr.TPP_ALL_TO_ALL</value> </param> </block> <block> @@ -1143,7 +774,7 @@ </param> <param> <key>comment</key> - <value></value> + <value>Pulse Shaping</value> </param> <param> <key>affinity</key> @@ -1155,7 +786,7 @@ </param> <param> <key>_coordinate</key> - <value>(1312, 324)</value> + <value>(928, 324)</value> </param> <param> <key>_rotation</key> @@ -1206,7 +837,7 @@ </param> <param> <key>_coordinate</key> - <value>(712, 324)</value> + <value>(192, 148)</value> </param> <param> <key>_rotation</key> @@ -1214,7 +845,7 @@ </param> <param> <key>id</key> - <value>blocks_short_to_float_0</value> + <value>blocks_short_to_float_1</value> </param> <param> <key>maxoutbuf</key> @@ -1281,7 +912,7 @@ </param> <param> <key>type</key> - <value>short</value> + <value>float</value> </param> <param> <key>vlen</key> @@ -1308,7 +939,7 @@ </param> <param> <key>_coordinate</key> - <value>(8, 364)</value> + <value>(0, 300)</value> </param> <param> <key>_rotation</key> @@ -1328,7 +959,7 @@ </param> <param> <key>type</key> - <value>short</value> + <value>float</value> </param> <param> <key>repeat</key> @@ -1367,7 +998,7 @@ </param> <param> <key>_coordinate</key> - <value>(8, 284)</value> + <value>(0, 220)</value> </param> <param> <key>_rotation</key> @@ -1387,7 +1018,7 @@ </param> <param> <key>type</key> - <value>short</value> + <value>float</value> </param> <param> <key>repeat</key> @@ -1426,7 +1057,7 @@ </param> <param> <key>_coordinate</key> - <value>(8, 444)</value> + <value>(0, 380)</value> </param> <param> <key>_rotation</key> @@ -1446,7 +1077,7 @@ </param> <param> <key>type</key> - <value>short</value> + <value>float</value> </param> <param> <key>repeat</key> @@ -1485,7 +1116,7 @@ </param> <param> <key>_coordinate</key> - <value>(8, 524)</value> + <value>(0, 460)</value> </param> <param> <key>_rotation</key> @@ -1505,7 +1136,7 @@ </param> <param> <key>type</key> - <value>short</value> + <value>float</value> </param> <param> <key>repeat</key> @@ -1525,49 +1156,6 @@ </param> </block> <block> - <key>digital_map_bb</key> - <param> - <key>alias</key> - <value></value> - </param> - <param> - <key>comment</key> - <value></value> - </param> - <param> - <key>affinity</key> - <value></value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>_coordinate</key> - <value>(1024, 324)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <param> - <key>id</key> - <value>digital_map_bb_0</value> - </param> - <param> - <key>map</key> - <value>[-1, 1,0]</value> - </param> - <param> - <key>maxoutbuf</key> - <value>0</value> - </param> - <param> - <key>minoutbuf</key> - <value>0</value> - </param> - </block> - <block> <key>digital_symbol_sync_xx</key> <param> <key>alias</key> @@ -1599,7 +1187,7 @@ </param> <param> <key>_coordinate</key> - <value>(1944, 276)</value> + <value>(1600, 276)</value> </param> <param> <key>_rotation</key> @@ -1655,16 +1243,83 @@ </param> </block> <block> - <key>fir_filter_xxx</key> + <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: + +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! +""" + +import numpy as np +from gnuradio import gr + +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> @@ -1678,7 +1333,7 @@ </param> <param> <key>_coordinate</key> - <value>(1672, 316)</value> + <value>(1336, 316)</value> </param> <param> <key>_rotation</key> @@ -1725,7 +1380,7 @@ </param> <param> <key>_coordinate</key> - <value>(184, 12)</value> + <value>(184, 4)</value> </param> <param> <key>_rotation</key> @@ -1756,7 +1411,7 @@ </param> <param> <key>_coordinate</key> - <value>(184, 60)</value> + <value>(184, 52)</value> </param> <param> <key>_rotation</key> @@ -1772,6 +1427,37 @@ </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> @@ -1807,7 +1493,7 @@ </param> <param> <key>_coordinate</key> - <value>(2296, 280)</value> + <value>(1952, 280)</value> </param> <param> <key>gui_hint</key> @@ -2170,7 +1856,7 @@ </param> <param> <key>_coordinate</key> - <value>(1976, 172)</value> + <value>(1632, 172)</value> </param> <param> <key>gui_hint</key> @@ -2505,7 +2191,8 @@ </param> <param> <key>comment</key> - <value></value> + <value>Resampling to 6 2/3 samples +per symbol ("clock desync")</value> </param> <param> <key>affinity</key> @@ -2525,7 +2212,7 @@ </param> <param> <key>_coordinate</key> - <value>(1472, 304)</value> + <value>(1120, 304)</value> </param> <param> <key>_rotation</key> @@ -2558,105 +2245,57 @@ </block> <connection> <source_block_id>analog_random_source_x_0</source_block_id> - <sink_block_id>blocks_multiply_const_vxx_0_0_0_0_0</sink_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_add_xx_0</source_block_id> + <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_char_to_float_2</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>blocks_float_to_char_0</source_block_id> - <sink_block_id>digital_map_bb_0</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>blocks_multiply_const_vxx_0</source_block_id> - <sink_block_id>blocks_add_xx_0</sink_block_id> - <source_key>0</source_key> - <sink_key>4</sink_key> - </connection> - <connection> - <source_block_id>blocks_multiply_const_vxx_0_0</source_block_id> - <sink_block_id>blocks_add_xx_0</sink_block_id> - <source_key>0</source_key> - <sink_key>3</sink_key> - </connection> - <connection> - <source_block_id>blocks_multiply_const_vxx_0_0_0</source_block_id> - <sink_block_id>blocks_add_xx_0</sink_block_id> - <source_key>0</source_key> - <sink_key>2</sink_key> - </connection> - <connection> - <source_block_id>blocks_multiply_const_vxx_0_0_0_0</source_block_id> - <sink_block_id>blocks_add_xx_0</sink_block_id> - <source_key>0</source_key> - <sink_key>1</sink_key> - </connection> - <connection> - <source_block_id>blocks_multiply_const_vxx_0_0_0_0_0</source_block_id> - <sink_block_id>blocks_add_xx_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_0</source_block_id> - <sink_block_id>blocks_float_to_char_0</sink_block_id> + <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>blocks_short_to_float_0</sink_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_const_vxx_0_0_0</sink_block_id> + <sink_block_id>blocks_multiply_matrix_xx_0</sink_block_id> <source_key>0</source_key> - <sink_key>0</sink_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_const_vxx_0_0_0_0</sink_block_id> + <sink_block_id>blocks_multiply_matrix_xx_0</sink_block_id> <source_key>0</source_key> - <sink_key>0</sink_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_const_vxx_0_0</sink_block_id> + <sink_block_id>blocks_multiply_matrix_xx_0</sink_block_id> <source_key>0</source_key> - <sink_key>0</sink_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_const_vxx_0</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>digital_map_bb_0</source_block_id> - <sink_block_id>blocks_char_to_float_2</sink_block_id> + <sink_block_id>blocks_multiply_matrix_xx_0</sink_block_id> <source_key>0</source_key> - <sink_key>0</sink_key> + <sink_key>4</sink_key> </connection> <connection> <source_block_id>digital_symbol_sync_xx_0</source_block_id> @@ -2683,6 +2322,12 @@ <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> |