Problem with comparison.
/Designs/HAM Constructions/SDRX02B/SCH/Coherent_UHF_SDR_receiver.dia |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/Designs/HAM Constructions/SDRX02B/SCH/Coherent_UHF_SDR_receiver.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/Designs/HAM Constructions/SDRX02B/SCH/UHF_SDR_receiver.dia |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/Designs/HAM Constructions/SDRX02B/SCH/UHF_SDR_receiver.png |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/Designs/HAM Constructions/SDRX02B/DOC/2014-05-12KakonaDiplThesisCTU-Prague.pdf |
---|
Cannot display: file marked as a binary type. |
svn:mime-type = application/octet-stream |
Property changes: |
Added: svn:mime-type |
+application/octet-stream |
\ No newline at end of property |
/Designs/HAM Constructions/SDRX02B/SW/GRC/AM_receiver.grc |
---|
0,0 → 1,1805 |
<?xml version='1.0' encoding='ASCII'?> |
<flow_graph> |
<timestamp>Mon Jun 2 17:32:41 2014</timestamp> |
<block> |
<key>options</key> |
<param> |
<key>id</key> |
<value>Records_player</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>title</key> |
<value></value> |
</param> |
<param> |
<key>author</key> |
<value>Jakub Kakona</value> |
</param> |
<param> |
<key>description</key> |
<value></value> |
</param> |
<param> |
<key>window_size</key> |
<value>4096, 1024</value> |
</param> |
<param> |
<key>generate_options</key> |
<value>wx_gui</value> |
</param> |
<param> |
<key>category</key> |
<value>Custom</value> |
</param> |
<param> |
<key>run_options</key> |
<value>prompt</value> |
</param> |
<param> |
<key>run</key> |
<value>True</value> |
</param> |
<param> |
<key>max_nouts</key> |
<value>0</value> |
</param> |
<param> |
<key>realtime_scheduling</key> |
<value></value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(10, 10)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>variable</key> |
<param> |
<key>id</key> |
<value>samp_rate</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>value</key> |
<value>5e6</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(235, 14)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_interleave</key> |
<param> |
<key>id</key> |
<value>blocks_interleave_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>short</value> |
</param> |
<param> |
<key>num_streams</key> |
<value>2</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(334, 494)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_interleave</key> |
<param> |
<key>id</key> |
<value>blocks_interleave_0_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>short</value> |
</param> |
<param> |
<key>num_streams</key> |
<value>2</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(334, 425)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_interleave</key> |
<param> |
<key>id</key> |
<value>blocks_interleave_0_1</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>short</value> |
</param> |
<param> |
<key>num_streams</key> |
<value>2</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(334, 357)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_interleave</key> |
<param> |
<key>id</key> |
<value>blocks_interleave_0_2</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>short</value> |
</param> |
<param> |
<key>num_streams</key> |
<value>2</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(335, 291)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_short_to_float</key> |
<param> |
<key>id</key> |
<value>blocks_short_to_float_2</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>scale</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(529, 166)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_short_to_float</key> |
<param> |
<key>id</key> |
<value>blocks_short_to_float_2_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>scale</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(527, 229)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_short_to_float</key> |
<param> |
<key>id</key> |
<value>blocks_short_to_float_0_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>scale</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(506, 325)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_short_to_float</key> |
<param> |
<key>id</key> |
<value>blocks_short_to_float_1_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>scale</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(504, 378)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_short_to_float</key> |
<param> |
<key>id</key> |
<value>blocks_short_to_float_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>scale</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(501, 440)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_short_to_float</key> |
<param> |
<key>id</key> |
<value>blocks_short_to_float_1</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>scale</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(497, 493)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_vector_to_streams</key> |
<param> |
<key>id</key> |
<value>blocks_vector_to_streams_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>short</value> |
</param> |
<param> |
<key>num_streams</key> |
<value>10</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(131, 222)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>audio_sink</key> |
<param> |
<key>id</key> |
<value>audio_sink_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>samp_rate</key> |
<value>48000</value> |
</param> |
<param> |
<key>device_name</key> |
<value></value> |
</param> |
<param> |
<key>ok_to_block</key> |
<value>True</value> |
</param> |
<param> |
<key>num_inputs</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(1013, 974)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>wxgui_scopesink2</key> |
<param> |
<key>id</key> |
<value>wxgui_scopesink2_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>float</value> |
</param> |
<param> |
<key>title</key> |
<value>Scope Plot</value> |
</param> |
<param> |
<key>samp_rate</key> |
<value>samp_rate</value> |
</param> |
<param> |
<key>v_scale</key> |
<value>0</value> |
</param> |
<param> |
<key>v_offset</key> |
<value>0</value> |
</param> |
<param> |
<key>t_scale</key> |
<value>0</value> |
</param> |
<param> |
<key>ac_couple</key> |
<value>False</value> |
</param> |
<param> |
<key>xy_mode</key> |
<value>False</value> |
</param> |
<param> |
<key>num_inputs</key> |
<value>4</value> |
</param> |
<param> |
<key>win_size</key> |
<value></value> |
</param> |
<param> |
<key>grid_pos</key> |
<value></value> |
</param> |
<param> |
<key>notebook</key> |
<value>notebook_0, 1</value> |
</param> |
<param> |
<key>trig_mode</key> |
<value>wxgui.TRIG_MODE_AUTO</value> |
</param> |
<param> |
<key>y_axis_label</key> |
<value>Counts</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(653, 609)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>270</value> |
</param> |
</block> |
<block> |
<key>wxgui_scopesink2</key> |
<param> |
<key>id</key> |
<value>wxgui_scopesink2_1</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>float</value> |
</param> |
<param> |
<key>title</key> |
<value>Scope Plot</value> |
</param> |
<param> |
<key>samp_rate</key> |
<value>samp_rate/2</value> |
</param> |
<param> |
<key>v_scale</key> |
<value>0</value> |
</param> |
<param> |
<key>v_offset</key> |
<value>0</value> |
</param> |
<param> |
<key>t_scale</key> |
<value>1e-2</value> |
</param> |
<param> |
<key>ac_couple</key> |
<value>False</value> |
</param> |
<param> |
<key>xy_mode</key> |
<value>False</value> |
</param> |
<param> |
<key>num_inputs</key> |
<value>2</value> |
</param> |
<param> |
<key>win_size</key> |
<value></value> |
</param> |
<param> |
<key>grid_pos</key> |
<value></value> |
</param> |
<param> |
<key>notebook</key> |
<value>notebook_0, 1</value> |
</param> |
<param> |
<key>trig_mode</key> |
<value>wxgui.TRIG_MODE_AUTO</value> |
</param> |
<param> |
<key>y_axis_label</key> |
<value>Counts</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(893, 84)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>notebook</key> |
<param> |
<key>id</key> |
<value>notebook_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>style</key> |
<value>wx.NB_TOP</value> |
</param> |
<param> |
<key>labels</key> |
<value>['RF signal', 'Scope', 'Demod']</value> |
</param> |
<param> |
<key>grid_pos</key> |
<value></value> |
</param> |
<param> |
<key>notebook</key> |
<value></value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(245, 934)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_throttle</key> |
<param> |
<key>id</key> |
<value>blocks_throttle_2</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>short</value> |
</param> |
<param> |
<key>samples_per_second</key> |
<value>samp_rate/2</value> |
</param> |
<param> |
<key>vlen</key> |
<value>10</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(41, 214)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>270</value> |
</param> |
</block> |
<block> |
<key>blocks_file_source</key> |
<param> |
<key>id</key> |
<value>blocks_file_source_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>file</key> |
<value>/dev/xillybus_data2_r</value> |
</param> |
<param> |
<key>type</key> |
<value>short</value> |
</param> |
<param> |
<key>repeat</key> |
<value>True</value> |
</param> |
<param> |
<key>vlen</key> |
<value>10</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(150, 96)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>180</value> |
</param> |
</block> |
<block> |
<key>blocks_float_to_complex</key> |
<param> |
<key>id</key> |
<value>blocks_float_to_complex_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(935, 477)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>wxgui_waterfallsink2</key> |
<param> |
<key>id</key> |
<value>wxgui_waterfallsink2_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>complex</value> |
</param> |
<param> |
<key>title</key> |
<value>ADC2 Waterfall Plot</value> |
</param> |
<param> |
<key>samp_rate</key> |
<value>samp_rate</value> |
</param> |
<param> |
<key>baseband_freq</key> |
<value>0</value> |
</param> |
<param> |
<key>dynamic_range</key> |
<value>100</value> |
</param> |
<param> |
<key>ref_level</key> |
<value>0</value> |
</param> |
<param> |
<key>ref_scale</key> |
<value>2.0</value> |
</param> |
<param> |
<key>fft_size</key> |
<value>512</value> |
</param> |
<param> |
<key>fft_rate</key> |
<value>15</value> |
</param> |
<param> |
<key>average</key> |
<value>False</value> |
</param> |
<param> |
<key>avg_alpha</key> |
<value>0</value> |
</param> |
<param> |
<key>win</key> |
<value>window.hanning</value> |
</param> |
<param> |
<key>win_size</key> |
<value></value> |
</param> |
<param> |
<key>grid_pos</key> |
<value></value> |
</param> |
<param> |
<key>notebook</key> |
<value>notebook_0, 0</value> |
</param> |
<param> |
<key>freqvar</key> |
<value>None</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(1167, 343)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>wxgui_waterfallsink2</key> |
<param> |
<key>id</key> |
<value>wxgui_waterfallsink2_2</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>float</value> |
</param> |
<param> |
<key>title</key> |
<value>Demodulated Audio</value> |
</param> |
<param> |
<key>samp_rate</key> |
<value>48e3</value> |
</param> |
<param> |
<key>baseband_freq</key> |
<value>0</value> |
</param> |
<param> |
<key>dynamic_range</key> |
<value>100</value> |
</param> |
<param> |
<key>ref_level</key> |
<value>0</value> |
</param> |
<param> |
<key>ref_scale</key> |
<value>2.0</value> |
</param> |
<param> |
<key>fft_size</key> |
<value>512</value> |
</param> |
<param> |
<key>fft_rate</key> |
<value>15</value> |
</param> |
<param> |
<key>average</key> |
<value>False</value> |
</param> |
<param> |
<key>avg_alpha</key> |
<value>0</value> |
</param> |
<param> |
<key>win</key> |
<value>window.hamming</value> |
</param> |
<param> |
<key>win_size</key> |
<value></value> |
</param> |
<param> |
<key>grid_pos</key> |
<value></value> |
</param> |
<param> |
<key>notebook</key> |
<value>notebook_0, 2</value> |
</param> |
<param> |
<key>freqvar</key> |
<value>None</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(995, 729)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_multiply_const_vxx</key> |
<param> |
<key>id</key> |
<value>blocks_multiply_const_vxx_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>float</value> |
</param> |
<param> |
<key>const</key> |
<value>variable_slider_0</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(793, 921)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>wxgui_waterfallsink2</key> |
<param> |
<key>id</key> |
<value>wxgui_waterfallsink2_0_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>complex</value> |
</param> |
<param> |
<key>title</key> |
<value>ADC1 Waterfall Plot</value> |
</param> |
<param> |
<key>samp_rate</key> |
<value>samp_rate</value> |
</param> |
<param> |
<key>baseband_freq</key> |
<value>0</value> |
</param> |
<param> |
<key>dynamic_range</key> |
<value>100</value> |
</param> |
<param> |
<key>ref_level</key> |
<value>0</value> |
</param> |
<param> |
<key>ref_scale</key> |
<value>2.0</value> |
</param> |
<param> |
<key>fft_size</key> |
<value>1024</value> |
</param> |
<param> |
<key>fft_rate</key> |
<value>15</value> |
</param> |
<param> |
<key>average</key> |
<value>False</value> |
</param> |
<param> |
<key>avg_alpha</key> |
<value>0</value> |
</param> |
<param> |
<key>win</key> |
<value>window.blackmanharris</value> |
</param> |
<param> |
<key>win_size</key> |
<value>1024, 500</value> |
</param> |
<param> |
<key>grid_pos</key> |
<value></value> |
</param> |
<param> |
<key>notebook</key> |
<value>notebook_0, 0</value> |
</param> |
<param> |
<key>freqvar</key> |
<value>None</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(1174, 134)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_float_to_complex</key> |
<param> |
<key>id</key> |
<value>blocks_float_to_complex_0_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(863, 255)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>low_pass_filter</key> |
<param> |
<key>id</key> |
<value>low_pass_filter_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>fir_filter_ccf</value> |
</param> |
<param> |
<key>decim</key> |
<value>int(samp_rate/20e3)</value> |
</param> |
<param> |
<key>interp</key> |
<value>1</value> |
</param> |
<param> |
<key>gain</key> |
<value>1</value> |
</param> |
<param> |
<key>samp_rate</key> |
<value>samp_rate</value> |
</param> |
<param> |
<key>cutoff_freq</key> |
<value>12e3</value> |
</param> |
<param> |
<key>width</key> |
<value>1e4</value> |
</param> |
<param> |
<key>win</key> |
<value>firdes.WIN_HAMMING</value> |
</param> |
<param> |
<key>beta</key> |
<value>6.76</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(114, 780)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>270</value> |
</param> |
</block> |
<block> |
<key>analog_am_demod_cf</key> |
<param> |
<key>id</key> |
<value>analog_am_demod_cf_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>chan_rate</key> |
<value>20e3</value> |
</param> |
<param> |
<key>audio_decim</key> |
<value>1</value> |
</param> |
<param> |
<key>audio_pass</key> |
<value>5000</value> |
</param> |
<param> |
<key>audio_stop</key> |
<value>6000</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(499, 826)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>rational_resampler_xxx</key> |
<param> |
<key>id</key> |
<value>rational_resampler_xxx_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>fff</value> |
</param> |
<param> |
<key>interp</key> |
<value>48</value> |
</param> |
<param> |
<key>decim</key> |
<value>20</value> |
</param> |
<param> |
<key>taps</key> |
<value></value> |
</param> |
<param> |
<key>fbw</key> |
<value>0</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(501, 938)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>wxgui_waterfallsink2</key> |
<param> |
<key>id</key> |
<value>wxgui_waterfallsink2_1</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>complex</value> |
</param> |
<param> |
<key>title</key> |
<value>IF Plot</value> |
</param> |
<param> |
<key>samp_rate</key> |
<value>20e3</value> |
</param> |
<param> |
<key>baseband_freq</key> |
<value>0</value> |
</param> |
<param> |
<key>dynamic_range</key> |
<value>100</value> |
</param> |
<param> |
<key>ref_level</key> |
<value>0</value> |
</param> |
<param> |
<key>ref_scale</key> |
<value>2.0</value> |
</param> |
<param> |
<key>fft_size</key> |
<value>512</value> |
</param> |
<param> |
<key>fft_rate</key> |
<value>15</value> |
</param> |
<param> |
<key>average</key> |
<value>False</value> |
</param> |
<param> |
<key>avg_alpha</key> |
<value>0</value> |
</param> |
<param> |
<key>win</key> |
<value>window.blackmanharris</value> |
</param> |
<param> |
<key>win_size</key> |
<value></value> |
</param> |
<param> |
<key>grid_pos</key> |
<value></value> |
</param> |
<param> |
<key>notebook</key> |
<value>notebook_0, 2</value> |
</param> |
<param> |
<key>freqvar</key> |
<value>None</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(423, 609)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>freq_xlating_fir_filter_xxx</key> |
<param> |
<key>id</key> |
<value>freq_xlating_fir_filter_xxx_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>ccc</value> |
</param> |
<param> |
<key>decim</key> |
<value>1</value> |
</param> |
<param> |
<key>taps</key> |
<value>[1]</value> |
</param> |
<param> |
<key>center_freq</key> |
<value>-20e3</value> |
</param> |
<param> |
<key>samp_rate</key> |
<value>samp_rate</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(867, 359)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>variable_slider</key> |
<param> |
<key>id</key> |
<value>variable_slider_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>label</key> |
<value>Volume</value> |
</param> |
<param> |
<key>value</key> |
<value>0.1</value> |
</param> |
<param> |
<key>min</key> |
<value>0</value> |
</param> |
<param> |
<key>max</key> |
<value>1</value> |
</param> |
<param> |
<key>num_steps</key> |
<value>100</value> |
</param> |
<param> |
<key>style</key> |
<value>wx.SL_HORIZONTAL</value> |
</param> |
<param> |
<key>converver</key> |
<value>float_converter</value> |
</param> |
<param> |
<key>grid_pos</key> |
<value></value> |
</param> |
<param> |
<key>notebook</key> |
<value>notebook_0, 2</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(111, 599)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<connection> |
<source_block_id>blocks_vector_to_streams_0</source_block_id> |
<sink_block_id>blocks_interleave_0_2</sink_block_id> |
<source_key>2</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_vector_to_streams_0</source_block_id> |
<sink_block_id>blocks_interleave_0_2</sink_block_id> |
<source_key>3</source_key> |
<sink_key>1</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_vector_to_streams_0</source_block_id> |
<sink_block_id>blocks_interleave_0_1</sink_block_id> |
<source_key>4</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_vector_to_streams_0</source_block_id> |
<sink_block_id>blocks_interleave_0_1</sink_block_id> |
<source_key>5</source_key> |
<sink_key>1</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_vector_to_streams_0</source_block_id> |
<sink_block_id>blocks_interleave_0_0</sink_block_id> |
<source_key>6</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_vector_to_streams_0</source_block_id> |
<sink_block_id>blocks_interleave_0_0</sink_block_id> |
<source_key>7</source_key> |
<sink_key>1</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_vector_to_streams_0</source_block_id> |
<sink_block_id>blocks_interleave_0</sink_block_id> |
<source_key>8</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_vector_to_streams_0</source_block_id> |
<sink_block_id>blocks_interleave_0</sink_block_id> |
<source_key>9</source_key> |
<sink_key>1</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_short_to_float_1</source_block_id> |
<sink_block_id>blocks_float_to_complex_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>1</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_short_to_float_0</source_block_id> |
<sink_block_id>blocks_float_to_complex_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_short_to_float_0_0</source_block_id> |
<sink_block_id>blocks_float_to_complex_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_0</source_block_id> |
<sink_block_id>blocks_float_to_complex_0_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>1</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_vector_to_streams_0</source_block_id> |
<sink_block_id>blocks_short_to_float_2</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_vector_to_streams_0</source_block_id> |
<sink_block_id>blocks_short_to_float_2_0</sink_block_id> |
<source_key>1</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_short_to_float_2</source_block_id> |
<sink_block_id>wxgui_scopesink2_1</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_short_to_float_2_0</source_block_id> |
<sink_block_id>wxgui_scopesink2_1</sink_block_id> |
<source_key>0</source_key> |
<sink_key>1</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_short_to_float_0_0</source_block_id> |
<sink_block_id>wxgui_scopesink2_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_short_to_float_1_0</source_block_id> |
<sink_block_id>wxgui_scopesink2_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>1</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_short_to_float_0</source_block_id> |
<sink_block_id>wxgui_scopesink2_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>2</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_short_to_float_1</source_block_id> |
<sink_block_id>wxgui_scopesink2_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>3</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_interleave_0_2</source_block_id> |
<sink_block_id>blocks_short_to_float_0_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_interleave_0_1</source_block_id> |
<sink_block_id>blocks_short_to_float_1_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_interleave_0_0</source_block_id> |
<sink_block_id>blocks_short_to_float_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_interleave_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_throttle_2</source_block_id> |
<sink_block_id>blocks_vector_to_streams_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_file_source_0</source_block_id> |
<sink_block_id>blocks_throttle_2</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>wxgui_waterfallsink2_0_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_float_to_complex_0</source_block_id> |
<sink_block_id>wxgui_waterfallsink2_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>blocks_multiply_const_vxx_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>audio_sink_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>low_pass_filter_0</source_block_id> |
<sink_block_id>wxgui_waterfallsink2_1</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>wxgui_waterfallsink2_2</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>freq_xlating_fir_filter_xxx_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>freq_xlating_fir_filter_xxx_0</source_block_id> |
<sink_block_id>low_pass_filter_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>low_pass_filter_0</source_block_id> |
<sink_block_id>analog_am_demod_cf_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>analog_am_demod_cf_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> |
</flow_graph> |
/Designs/HAM Constructions/SDRX02B/SW/GRC/FM_receiver.grc |
---|
0,0 → 1,1797 |
<?xml version='1.0' encoding='ASCII'?> |
<flow_graph> |
<timestamp>Mon Jun 2 17:39:40 2014</timestamp> |
<block> |
<key>options</key> |
<param> |
<key>id</key> |
<value>Records_player</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>title</key> |
<value></value> |
</param> |
<param> |
<key>author</key> |
<value>Jakub Kakona</value> |
</param> |
<param> |
<key>description</key> |
<value></value> |
</param> |
<param> |
<key>window_size</key> |
<value>4096, 1024</value> |
</param> |
<param> |
<key>generate_options</key> |
<value>wx_gui</value> |
</param> |
<param> |
<key>category</key> |
<value>Custom</value> |
</param> |
<param> |
<key>run_options</key> |
<value>prompt</value> |
</param> |
<param> |
<key>run</key> |
<value>True</value> |
</param> |
<param> |
<key>max_nouts</key> |
<value>0</value> |
</param> |
<param> |
<key>realtime_scheduling</key> |
<value></value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(10, 10)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>variable</key> |
<param> |
<key>id</key> |
<value>samp_rate</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>value</key> |
<value>5e6</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(235, 14)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_interleave</key> |
<param> |
<key>id</key> |
<value>blocks_interleave_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>short</value> |
</param> |
<param> |
<key>num_streams</key> |
<value>2</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(334, 494)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_interleave</key> |
<param> |
<key>id</key> |
<value>blocks_interleave_0_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>short</value> |
</param> |
<param> |
<key>num_streams</key> |
<value>2</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(334, 425)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_interleave</key> |
<param> |
<key>id</key> |
<value>blocks_interleave_0_1</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>short</value> |
</param> |
<param> |
<key>num_streams</key> |
<value>2</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(334, 357)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_interleave</key> |
<param> |
<key>id</key> |
<value>blocks_interleave_0_2</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>short</value> |
</param> |
<param> |
<key>num_streams</key> |
<value>2</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(335, 291)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_short_to_float</key> |
<param> |
<key>id</key> |
<value>blocks_short_to_float_2</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>scale</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(529, 166)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_short_to_float</key> |
<param> |
<key>id</key> |
<value>blocks_short_to_float_2_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>scale</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(527, 229)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_short_to_float</key> |
<param> |
<key>id</key> |
<value>blocks_short_to_float_0_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>scale</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(506, 325)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_short_to_float</key> |
<param> |
<key>id</key> |
<value>blocks_short_to_float_1_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>scale</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(504, 378)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_short_to_float</key> |
<param> |
<key>id</key> |
<value>blocks_short_to_float_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>scale</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(501, 440)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_short_to_float</key> |
<param> |
<key>id</key> |
<value>blocks_short_to_float_1</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>scale</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(497, 493)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_vector_to_streams</key> |
<param> |
<key>id</key> |
<value>blocks_vector_to_streams_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>short</value> |
</param> |
<param> |
<key>num_streams</key> |
<value>10</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(131, 222)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>audio_sink</key> |
<param> |
<key>id</key> |
<value>audio_sink_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>samp_rate</key> |
<value>48000</value> |
</param> |
<param> |
<key>device_name</key> |
<value></value> |
</param> |
<param> |
<key>ok_to_block</key> |
<value>True</value> |
</param> |
<param> |
<key>num_inputs</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(1013, 974)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>wxgui_scopesink2</key> |
<param> |
<key>id</key> |
<value>wxgui_scopesink2_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>float</value> |
</param> |
<param> |
<key>title</key> |
<value>Scope Plot</value> |
</param> |
<param> |
<key>samp_rate</key> |
<value>samp_rate</value> |
</param> |
<param> |
<key>v_scale</key> |
<value>0</value> |
</param> |
<param> |
<key>v_offset</key> |
<value>0</value> |
</param> |
<param> |
<key>t_scale</key> |
<value>0</value> |
</param> |
<param> |
<key>ac_couple</key> |
<value>False</value> |
</param> |
<param> |
<key>xy_mode</key> |
<value>False</value> |
</param> |
<param> |
<key>num_inputs</key> |
<value>4</value> |
</param> |
<param> |
<key>win_size</key> |
<value></value> |
</param> |
<param> |
<key>grid_pos</key> |
<value></value> |
</param> |
<param> |
<key>notebook</key> |
<value>notebook_0, 1</value> |
</param> |
<param> |
<key>trig_mode</key> |
<value>wxgui.TRIG_MODE_AUTO</value> |
</param> |
<param> |
<key>y_axis_label</key> |
<value>Counts</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(653, 609)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>270</value> |
</param> |
</block> |
<block> |
<key>wxgui_scopesink2</key> |
<param> |
<key>id</key> |
<value>wxgui_scopesink2_1</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>float</value> |
</param> |
<param> |
<key>title</key> |
<value>Scope Plot</value> |
</param> |
<param> |
<key>samp_rate</key> |
<value>samp_rate/2</value> |
</param> |
<param> |
<key>v_scale</key> |
<value>0</value> |
</param> |
<param> |
<key>v_offset</key> |
<value>0</value> |
</param> |
<param> |
<key>t_scale</key> |
<value>1e-2</value> |
</param> |
<param> |
<key>ac_couple</key> |
<value>False</value> |
</param> |
<param> |
<key>xy_mode</key> |
<value>False</value> |
</param> |
<param> |
<key>num_inputs</key> |
<value>2</value> |
</param> |
<param> |
<key>win_size</key> |
<value></value> |
</param> |
<param> |
<key>grid_pos</key> |
<value></value> |
</param> |
<param> |
<key>notebook</key> |
<value>notebook_0, 1</value> |
</param> |
<param> |
<key>trig_mode</key> |
<value>wxgui.TRIG_MODE_AUTO</value> |
</param> |
<param> |
<key>y_axis_label</key> |
<value>Counts</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(893, 84)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>notebook</key> |
<param> |
<key>id</key> |
<value>notebook_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>style</key> |
<value>wx.NB_TOP</value> |
</param> |
<param> |
<key>labels</key> |
<value>['RF signal', 'Scope', 'Demod']</value> |
</param> |
<param> |
<key>grid_pos</key> |
<value></value> |
</param> |
<param> |
<key>notebook</key> |
<value></value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(245, 934)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_throttle</key> |
<param> |
<key>id</key> |
<value>blocks_throttle_2</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>short</value> |
</param> |
<param> |
<key>samples_per_second</key> |
<value>samp_rate/2</value> |
</param> |
<param> |
<key>vlen</key> |
<value>10</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(41, 214)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>270</value> |
</param> |
</block> |
<block> |
<key>blocks_file_source</key> |
<param> |
<key>id</key> |
<value>blocks_file_source_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>file</key> |
<value>/dev/xillybus_data2_r</value> |
</param> |
<param> |
<key>type</key> |
<value>short</value> |
</param> |
<param> |
<key>repeat</key> |
<value>True</value> |
</param> |
<param> |
<key>vlen</key> |
<value>10</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(150, 96)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>180</value> |
</param> |
</block> |
<block> |
<key>blocks_float_to_complex</key> |
<param> |
<key>id</key> |
<value>blocks_float_to_complex_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(935, 477)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>wxgui_waterfallsink2</key> |
<param> |
<key>id</key> |
<value>wxgui_waterfallsink2_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>complex</value> |
</param> |
<param> |
<key>title</key> |
<value>ADC2 Waterfall Plot</value> |
</param> |
<param> |
<key>samp_rate</key> |
<value>samp_rate</value> |
</param> |
<param> |
<key>baseband_freq</key> |
<value>0</value> |
</param> |
<param> |
<key>dynamic_range</key> |
<value>100</value> |
</param> |
<param> |
<key>ref_level</key> |
<value>0</value> |
</param> |
<param> |
<key>ref_scale</key> |
<value>2.0</value> |
</param> |
<param> |
<key>fft_size</key> |
<value>512</value> |
</param> |
<param> |
<key>fft_rate</key> |
<value>15</value> |
</param> |
<param> |
<key>average</key> |
<value>False</value> |
</param> |
<param> |
<key>avg_alpha</key> |
<value>0</value> |
</param> |
<param> |
<key>win</key> |
<value>window.hanning</value> |
</param> |
<param> |
<key>win_size</key> |
<value></value> |
</param> |
<param> |
<key>grid_pos</key> |
<value></value> |
</param> |
<param> |
<key>notebook</key> |
<value>notebook_0, 0</value> |
</param> |
<param> |
<key>freqvar</key> |
<value>None</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(1167, 343)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>wxgui_waterfallsink2</key> |
<param> |
<key>id</key> |
<value>wxgui_waterfallsink2_1</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>complex</value> |
</param> |
<param> |
<key>title</key> |
<value>IF Plot</value> |
</param> |
<param> |
<key>samp_rate</key> |
<value>500e3</value> |
</param> |
<param> |
<key>baseband_freq</key> |
<value>0</value> |
</param> |
<param> |
<key>dynamic_range</key> |
<value>100</value> |
</param> |
<param> |
<key>ref_level</key> |
<value>0</value> |
</param> |
<param> |
<key>ref_scale</key> |
<value>2.0</value> |
</param> |
<param> |
<key>fft_size</key> |
<value>512</value> |
</param> |
<param> |
<key>fft_rate</key> |
<value>15</value> |
</param> |
<param> |
<key>average</key> |
<value>False</value> |
</param> |
<param> |
<key>avg_alpha</key> |
<value>0</value> |
</param> |
<param> |
<key>win</key> |
<value>window.blackmanharris</value> |
</param> |
<param> |
<key>win_size</key> |
<value></value> |
</param> |
<param> |
<key>grid_pos</key> |
<value></value> |
</param> |
<param> |
<key>notebook</key> |
<value>notebook_0, 2</value> |
</param> |
<param> |
<key>freqvar</key> |
<value>None</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(423, 609)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>analog_wfm_rcv</key> |
<param> |
<key>id</key> |
<value>analog_wfm_rcv_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>quad_rate</key> |
<value>500e3</value> |
</param> |
<param> |
<key>audio_decimation</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(470, 841)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>rational_resampler_xxx</key> |
<param> |
<key>id</key> |
<value>rational_resampler_xxx_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>fff</value> |
</param> |
<param> |
<key>interp</key> |
<value>48</value> |
</param> |
<param> |
<key>decim</key> |
<value>500</value> |
</param> |
<param> |
<key>taps</key> |
<value></value> |
</param> |
<param> |
<key>fbw</key> |
<value>0</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(501, 938)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>wxgui_waterfallsink2</key> |
<param> |
<key>id</key> |
<value>wxgui_waterfallsink2_2</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>float</value> |
</param> |
<param> |
<key>title</key> |
<value>Demodulated Audio</value> |
</param> |
<param> |
<key>samp_rate</key> |
<value>48e3</value> |
</param> |
<param> |
<key>baseband_freq</key> |
<value>0</value> |
</param> |
<param> |
<key>dynamic_range</key> |
<value>100</value> |
</param> |
<param> |
<key>ref_level</key> |
<value>0</value> |
</param> |
<param> |
<key>ref_scale</key> |
<value>2.0</value> |
</param> |
<param> |
<key>fft_size</key> |
<value>512</value> |
</param> |
<param> |
<key>fft_rate</key> |
<value>15</value> |
</param> |
<param> |
<key>average</key> |
<value>False</value> |
</param> |
<param> |
<key>avg_alpha</key> |
<value>0</value> |
</param> |
<param> |
<key>win</key> |
<value>window.hamming</value> |
</param> |
<param> |
<key>win_size</key> |
<value></value> |
</param> |
<param> |
<key>grid_pos</key> |
<value></value> |
</param> |
<param> |
<key>notebook</key> |
<value>notebook_0, 2</value> |
</param> |
<param> |
<key>freqvar</key> |
<value>None</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(995, 729)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_multiply_const_vxx</key> |
<param> |
<key>id</key> |
<value>blocks_multiply_const_vxx_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>float</value> |
</param> |
<param> |
<key>const</key> |
<value>variable_slider_0</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(793, 921)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>wxgui_waterfallsink2</key> |
<param> |
<key>id</key> |
<value>wxgui_waterfallsink2_0_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>complex</value> |
</param> |
<param> |
<key>title</key> |
<value>ADC1 Waterfall Plot</value> |
</param> |
<param> |
<key>samp_rate</key> |
<value>samp_rate</value> |
</param> |
<param> |
<key>baseband_freq</key> |
<value>0</value> |
</param> |
<param> |
<key>dynamic_range</key> |
<value>100</value> |
</param> |
<param> |
<key>ref_level</key> |
<value>0</value> |
</param> |
<param> |
<key>ref_scale</key> |
<value>2.0</value> |
</param> |
<param> |
<key>fft_size</key> |
<value>1024</value> |
</param> |
<param> |
<key>fft_rate</key> |
<value>15</value> |
</param> |
<param> |
<key>average</key> |
<value>False</value> |
</param> |
<param> |
<key>avg_alpha</key> |
<value>0</value> |
</param> |
<param> |
<key>win</key> |
<value>window.blackmanharris</value> |
</param> |
<param> |
<key>win_size</key> |
<value>1024, 500</value> |
</param> |
<param> |
<key>grid_pos</key> |
<value></value> |
</param> |
<param> |
<key>notebook</key> |
<value>notebook_0, 0</value> |
</param> |
<param> |
<key>freqvar</key> |
<value>None</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(1174, 134)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_float_to_complex</key> |
<param> |
<key>id</key> |
<value>blocks_float_to_complex_0_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(863, 255)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>freq_xlating_fir_filter_xxx</key> |
<param> |
<key>id</key> |
<value>freq_xlating_fir_filter_xxx_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>ccc</value> |
</param> |
<param> |
<key>decim</key> |
<value>1</value> |
</param> |
<param> |
<key>taps</key> |
<value>[1]</value> |
</param> |
<param> |
<key>center_freq</key> |
<value>-200e3</value> |
</param> |
<param> |
<key>samp_rate</key> |
<value>samp_rate</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(867, 359)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>low_pass_filter</key> |
<param> |
<key>id</key> |
<value>low_pass_filter_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>fir_filter_ccf</value> |
</param> |
<param> |
<key>decim</key> |
<value>int(samp_rate/500e3)</value> |
</param> |
<param> |
<key>interp</key> |
<value>1</value> |
</param> |
<param> |
<key>gain</key> |
<value>1</value> |
</param> |
<param> |
<key>samp_rate</key> |
<value>samp_rate</value> |
</param> |
<param> |
<key>cutoff_freq</key> |
<value>100e3</value> |
</param> |
<param> |
<key>width</key> |
<value>1e5</value> |
</param> |
<param> |
<key>win</key> |
<value>firdes.WIN_HAMMING</value> |
</param> |
<param> |
<key>beta</key> |
<value>6.76</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(115, 780)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>270</value> |
</param> |
</block> |
<block> |
<key>variable_slider</key> |
<param> |
<key>id</key> |
<value>variable_slider_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>label</key> |
<value>Volume</value> |
</param> |
<param> |
<key>value</key> |
<value>1</value> |
</param> |
<param> |
<key>min</key> |
<value>0</value> |
</param> |
<param> |
<key>max</key> |
<value>100</value> |
</param> |
<param> |
<key>num_steps</key> |
<value>100</value> |
</param> |
<param> |
<key>style</key> |
<value>wx.SL_HORIZONTAL</value> |
</param> |
<param> |
<key>converver</key> |
<value>float_converter</value> |
</param> |
<param> |
<key>grid_pos</key> |
<value></value> |
</param> |
<param> |
<key>notebook</key> |
<value>notebook_0, 2</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(111, 599)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<connection> |
<source_block_id>blocks_vector_to_streams_0</source_block_id> |
<sink_block_id>blocks_interleave_0_2</sink_block_id> |
<source_key>2</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_vector_to_streams_0</source_block_id> |
<sink_block_id>blocks_interleave_0_2</sink_block_id> |
<source_key>3</source_key> |
<sink_key>1</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_vector_to_streams_0</source_block_id> |
<sink_block_id>blocks_interleave_0_1</sink_block_id> |
<source_key>4</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_vector_to_streams_0</source_block_id> |
<sink_block_id>blocks_interleave_0_1</sink_block_id> |
<source_key>5</source_key> |
<sink_key>1</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_vector_to_streams_0</source_block_id> |
<sink_block_id>blocks_interleave_0_0</sink_block_id> |
<source_key>6</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_vector_to_streams_0</source_block_id> |
<sink_block_id>blocks_interleave_0_0</sink_block_id> |
<source_key>7</source_key> |
<sink_key>1</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_vector_to_streams_0</source_block_id> |
<sink_block_id>blocks_interleave_0</sink_block_id> |
<source_key>8</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_vector_to_streams_0</source_block_id> |
<sink_block_id>blocks_interleave_0</sink_block_id> |
<source_key>9</source_key> |
<sink_key>1</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_short_to_float_1</source_block_id> |
<sink_block_id>blocks_float_to_complex_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>1</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_short_to_float_0</source_block_id> |
<sink_block_id>blocks_float_to_complex_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_short_to_float_0_0</source_block_id> |
<sink_block_id>blocks_float_to_complex_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_0</source_block_id> |
<sink_block_id>blocks_float_to_complex_0_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>1</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_vector_to_streams_0</source_block_id> |
<sink_block_id>blocks_short_to_float_2</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_vector_to_streams_0</source_block_id> |
<sink_block_id>blocks_short_to_float_2_0</sink_block_id> |
<source_key>1</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_short_to_float_2</source_block_id> |
<sink_block_id>wxgui_scopesink2_1</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_short_to_float_2_0</source_block_id> |
<sink_block_id>wxgui_scopesink2_1</sink_block_id> |
<source_key>0</source_key> |
<sink_key>1</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_short_to_float_0_0</source_block_id> |
<sink_block_id>wxgui_scopesink2_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_short_to_float_1_0</source_block_id> |
<sink_block_id>wxgui_scopesink2_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>1</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_short_to_float_0</source_block_id> |
<sink_block_id>wxgui_scopesink2_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>2</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_short_to_float_1</source_block_id> |
<sink_block_id>wxgui_scopesink2_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>3</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_interleave_0_2</source_block_id> |
<sink_block_id>blocks_short_to_float_0_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_interleave_0_1</source_block_id> |
<sink_block_id>blocks_short_to_float_1_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_interleave_0_0</source_block_id> |
<sink_block_id>blocks_short_to_float_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_interleave_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_throttle_2</source_block_id> |
<sink_block_id>blocks_vector_to_streams_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_file_source_0</source_block_id> |
<sink_block_id>blocks_throttle_2</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>wxgui_waterfallsink2_0_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_float_to_complex_0</source_block_id> |
<sink_block_id>wxgui_waterfallsink2_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>low_pass_filter_0</source_block_id> |
<sink_block_id>analog_wfm_rcv_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>blocks_multiply_const_vxx_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>audio_sink_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>low_pass_filter_0</source_block_id> |
<sink_block_id>wxgui_waterfallsink2_1</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>wxgui_waterfallsink2_2</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>analog_wfm_rcv_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_float_to_complex_0_0</source_block_id> |
<sink_block_id>freq_xlating_fir_filter_xxx_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>freq_xlating_fir_filter_xxx_0</source_block_id> |
<sink_block_id>low_pass_filter_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
</flow_graph> |
/Designs/HAM Constructions/SDRX02B/SW/GRC/FM_stanice.txt |
---|
0,0 → 1,7 |
Naladit LO na: 88.402564 MHz |
sudo ./usbsoftrock -m 2 set freq 88.402564 |
Nastavit vzorkovaci frekvenci na 5MHz |
sudo ./setSi570.py 0 150 |
/Designs/HAM Constructions/SDRX02B/SW/GRC/Grabber.grc |
---|
0,0 → 1,1842 |
<?xml version='1.0' encoding='ASCII'?> |
<flow_graph> |
<timestamp>Fri May 2 16:25:22 2014</timestamp> |
<block> |
<key>options</key> |
<param> |
<key>id</key> |
<value>MLAB_ADC_Grabber</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>title</key> |
<value>MLAB ADC Grabber</value> |
</param> |
<param> |
<key>author</key> |
<value>Jakub Kakona</value> |
</param> |
<param> |
<key>description</key> |
<value>Basic software for reading ADC data from ADCdual01A modules trought ML602 development board.</value> |
</param> |
<param> |
<key>window_size</key> |
<value>1280, 1024</value> |
</param> |
<param> |
<key>generate_options</key> |
<value>wx_gui</value> |
</param> |
<param> |
<key>category</key> |
<value>Custom</value> |
</param> |
<param> |
<key>run_options</key> |
<value>prompt</value> |
</param> |
<param> |
<key>run</key> |
<value>True</value> |
</param> |
<param> |
<key>max_nouts</key> |
<value>0</value> |
</param> |
<param> |
<key>realtime_scheduling</key> |
<value></value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(10, 10)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>variable</key> |
<param> |
<key>id</key> |
<value>samp_rate</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>value</key> |
<value>5e6</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(235, 14)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>variable</key> |
<param> |
<key>id</key> |
<value>prefix</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>value</key> |
<value>"/home/localuser/gnuradio/"</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(523, 20)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>variable</key> |
<param> |
<key>id</key> |
<value>recfile</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>value</key> |
<value>prefix + datetime.now().strftime("%Y.%m.%d.%H.%M.%S") + ".dat"</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(338, 90)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_interleave</key> |
<param> |
<key>id</key> |
<value>blocks_interleave_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>short</value> |
</param> |
<param> |
<key>num_streams</key> |
<value>2</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(334, 494)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_interleave</key> |
<param> |
<key>id</key> |
<value>blocks_interleave_0_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>short</value> |
</param> |
<param> |
<key>num_streams</key> |
<value>2</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(334, 425)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_interleave</key> |
<param> |
<key>id</key> |
<value>blocks_interleave_0_1</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>short</value> |
</param> |
<param> |
<key>num_streams</key> |
<value>2</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(334, 357)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_interleave</key> |
<param> |
<key>id</key> |
<value>blocks_interleave_0_2</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>short</value> |
</param> |
<param> |
<key>num_streams</key> |
<value>2</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(335, 291)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_short_to_float</key> |
<param> |
<key>id</key> |
<value>blocks_short_to_float_2</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>scale</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(529, 166)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_short_to_float</key> |
<param> |
<key>id</key> |
<value>blocks_short_to_float_2_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>scale</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(527, 229)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_short_to_float</key> |
<param> |
<key>id</key> |
<value>blocks_short_to_float_1_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>scale</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(504, 378)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_vector_to_streams</key> |
<param> |
<key>id</key> |
<value>blocks_vector_to_streams_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>short</value> |
</param> |
<param> |
<key>num_streams</key> |
<value>10</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(131, 222)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>import</key> |
<param> |
<key>id</key> |
<value>import_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>import</key> |
<value>from datetime import datetime</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(374, 16)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_throttle</key> |
<param> |
<key>id</key> |
<value>blocks_throttle_2</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>short</value> |
</param> |
<param> |
<key>samples_per_second</key> |
<value>samp_rate/2</value> |
</param> |
<param> |
<key>vlen</key> |
<value>10</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(41, 214)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>270</value> |
</param> |
</block> |
<block> |
<key>dc_blocker_xx</key> |
<param> |
<key>id</key> |
<value>dc_blocker_xx_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>cc</value> |
</param> |
<param> |
<key>length</key> |
<value>32</value> |
</param> |
<param> |
<key>long_form</key> |
<value>True</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(986, 279)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>90</value> |
</param> |
</block> |
<block> |
<key>wxgui_scopesink2</key> |
<param> |
<key>id</key> |
<value>wxgui_scopesink2_1</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>float</value> |
</param> |
<param> |
<key>title</key> |
<value>Scope Plot</value> |
</param> |
<param> |
<key>samp_rate</key> |
<value>samp_rate/2</value> |
</param> |
<param> |
<key>v_scale</key> |
<value>0</value> |
</param> |
<param> |
<key>v_offset</key> |
<value>0</value> |
</param> |
<param> |
<key>t_scale</key> |
<value>1e-2</value> |
</param> |
<param> |
<key>ac_couple</key> |
<value>False</value> |
</param> |
<param> |
<key>xy_mode</key> |
<value>False</value> |
</param> |
<param> |
<key>num_inputs</key> |
<value>2</value> |
</param> |
<param> |
<key>win_size</key> |
<value></value> |
</param> |
<param> |
<key>grid_pos</key> |
<value>2, 2, 1 ,1</value> |
</param> |
<param> |
<key>notebook</key> |
<value>notebook_0,0</value> |
</param> |
<param> |
<key>trig_mode</key> |
<value>wxgui.TRIG_MODE_AUTO</value> |
</param> |
<param> |
<key>y_axis_label</key> |
<value>Counts</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(894, 81)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_short_to_float</key> |
<param> |
<key>id</key> |
<value>blocks_short_to_float_0_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>scale</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(506, 325)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_float_to_complex</key> |
<param> |
<key>id</key> |
<value>blocks_float_to_complex_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(827, 573)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>270</value> |
</param> |
</block> |
<block> |
<key>blocks_short_to_float</key> |
<param> |
<key>id</key> |
<value>blocks_short_to_float_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>scale</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(501, 440)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_short_to_float</key> |
<param> |
<key>id</key> |
<value>blocks_short_to_float_1</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>scale</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(497, 493)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>notebook</key> |
<param> |
<key>id</key> |
<value>notebook_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>style</key> |
<value>wx.NB_TOP</value> |
</param> |
<param> |
<key>labels</key> |
<value>['Time wiev', 'Frequency wiev','numbers']</value> |
</param> |
<param> |
<key>grid_pos</key> |
<value></value> |
</param> |
<param> |
<key>notebook</key> |
<value></value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(98, 750)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>wxgui_numbersink2</key> |
<param> |
<key>id</key> |
<value>wxgui_numbersink2_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>float</value> |
</param> |
<param> |
<key>title</key> |
<value>Number Plot</value> |
</param> |
<param> |
<key>units</key> |
<value>Units</value> |
</param> |
<param> |
<key>samp_rate</key> |
<value>samp_rate</value> |
</param> |
<param> |
<key>min_value</key> |
<value>-100</value> |
</param> |
<param> |
<key>max_value</key> |
<value>100</value> |
</param> |
<param> |
<key>factor</key> |
<value>1.0</value> |
</param> |
<param> |
<key>decimal_places</key> |
<value>10</value> |
</param> |
<param> |
<key>ref_level</key> |
<value>0</value> |
</param> |
<param> |
<key>number_rate</key> |
<value>15</value> |
</param> |
<param> |
<key>peak_hold</key> |
<value>False</value> |
</param> |
<param> |
<key>average</key> |
<value>False</value> |
</param> |
<param> |
<key>avg_alpha</key> |
<value>0</value> |
</param> |
<param> |
<key>show_gauge</key> |
<value>True</value> |
</param> |
<param> |
<key>win_size</key> |
<value></value> |
</param> |
<param> |
<key>grid_pos</key> |
<value></value> |
</param> |
<param> |
<key>notebook</key> |
<value>notebook_0,2</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(334, 654)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>wxgui_waterfallsink2</key> |
<param> |
<key>id</key> |
<value>wxgui_waterfallsink2_0_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>complex</value> |
</param> |
<param> |
<key>title</key> |
<value>ADC1 Waterfall Plot</value> |
</param> |
<param> |
<key>samp_rate</key> |
<value>samp_rate</value> |
</param> |
<param> |
<key>baseband_freq</key> |
<value>0</value> |
</param> |
<param> |
<key>dynamic_range</key> |
<value>100</value> |
</param> |
<param> |
<key>ref_level</key> |
<value>0</value> |
</param> |
<param> |
<key>ref_scale</key> |
<value>2.0</value> |
</param> |
<param> |
<key>fft_size</key> |
<value>512</value> |
</param> |
<param> |
<key>fft_rate</key> |
<value>15</value> |
</param> |
<param> |
<key>average</key> |
<value>False</value> |
</param> |
<param> |
<key>avg_alpha</key> |
<value>0</value> |
</param> |
<param> |
<key>win</key> |
<value>None</value> |
</param> |
<param> |
<key>win_size</key> |
<value></value> |
</param> |
<param> |
<key>grid_pos</key> |
<value>1, 1, 1 ,1</value> |
</param> |
<param> |
<key>notebook</key> |
<value>notebook_0,0</value> |
</param> |
<param> |
<key>freqvar</key> |
<value>None</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(1102, 97)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>dc_blocker_xx</key> |
<param> |
<key>id</key> |
<value>dc_blocker_xx_1</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>cc</value> |
</param> |
<param> |
<key>length</key> |
<value>32</value> |
</param> |
<param> |
<key>long_form</key> |
<value>True</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(904, 656)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>90</value> |
</param> |
</block> |
<block> |
<key>wxgui_scopesink2</key> |
<param> |
<key>id</key> |
<value>wxgui_scopesink2_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>float</value> |
</param> |
<param> |
<key>title</key> |
<value>Scope Plot</value> |
</param> |
<param> |
<key>samp_rate</key> |
<value>samp_rate</value> |
</param> |
<param> |
<key>v_scale</key> |
<value>0</value> |
</param> |
<param> |
<key>v_offset</key> |
<value>0</value> |
</param> |
<param> |
<key>t_scale</key> |
<value>0</value> |
</param> |
<param> |
<key>ac_couple</key> |
<value>False</value> |
</param> |
<param> |
<key>xy_mode</key> |
<value>False</value> |
</param> |
<param> |
<key>num_inputs</key> |
<value>4</value> |
</param> |
<param> |
<key>win_size</key> |
<value></value> |
</param> |
<param> |
<key>grid_pos</key> |
<value>1, 2, 1 ,1</value> |
</param> |
<param> |
<key>notebook</key> |
<value>notebook_0,0</value> |
</param> |
<param> |
<key>trig_mode</key> |
<value>wxgui.TRIG_MODE_AUTO</value> |
</param> |
<param> |
<key>y_axis_label</key> |
<value>Counts</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(679, 612)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>270</value> |
</param> |
</block> |
<block> |
<key>wxgui_numbersink2</key> |
<param> |
<key>id</key> |
<value>wxgui_numbersink2_1</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>float</value> |
</param> |
<param> |
<key>title</key> |
<value>Number Plot</value> |
</param> |
<param> |
<key>units</key> |
<value>Units</value> |
</param> |
<param> |
<key>samp_rate</key> |
<value>samp_rate</value> |
</param> |
<param> |
<key>min_value</key> |
<value>-100</value> |
</param> |
<param> |
<key>max_value</key> |
<value>100</value> |
</param> |
<param> |
<key>factor</key> |
<value>1.0</value> |
</param> |
<param> |
<key>decimal_places</key> |
<value>10</value> |
</param> |
<param> |
<key>ref_level</key> |
<value>0</value> |
</param> |
<param> |
<key>number_rate</key> |
<value>15</value> |
</param> |
<param> |
<key>peak_hold</key> |
<value>False</value> |
</param> |
<param> |
<key>average</key> |
<value>False</value> |
</param> |
<param> |
<key>avg_alpha</key> |
<value>0</value> |
</param> |
<param> |
<key>show_gauge</key> |
<value>True</value> |
</param> |
<param> |
<key>win_size</key> |
<value></value> |
</param> |
<param> |
<key>grid_pos</key> |
<value></value> |
</param> |
<param> |
<key>notebook</key> |
<value>notebook_0,2</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(516, 646)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_float_to_complex</key> |
<param> |
<key>id</key> |
<value>blocks_float_to_complex_0_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(878, 322)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>270</value> |
</param> |
</block> |
<block> |
<key>blocks_file_source</key> |
<param> |
<key>id</key> |
<value>blocks_file_source_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>file</key> |
<value>/dev/xillybus_data2_r</value> |
</param> |
<param> |
<key>type</key> |
<value>short</value> |
</param> |
<param> |
<key>repeat</key> |
<value>False</value> |
</param> |
<param> |
<key>vlen</key> |
<value>10</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(176, 124)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>180</value> |
</param> |
</block> |
<block> |
<key>wxgui_waterfallsink2</key> |
<param> |
<key>id</key> |
<value>wxgui_waterfallsink2_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>complex</value> |
</param> |
<param> |
<key>title</key> |
<value>ADC2 Waterfall Plot</value> |
</param> |
<param> |
<key>samp_rate</key> |
<value>samp_rate</value> |
</param> |
<param> |
<key>baseband_freq</key> |
<value>0</value> |
</param> |
<param> |
<key>dynamic_range</key> |
<value>100</value> |
</param> |
<param> |
<key>ref_level</key> |
<value>0</value> |
</param> |
<param> |
<key>ref_scale</key> |
<value>2.0</value> |
</param> |
<param> |
<key>fft_size</key> |
<value>512</value> |
</param> |
<param> |
<key>fft_rate</key> |
<value>15</value> |
</param> |
<param> |
<key>average</key> |
<value>False</value> |
</param> |
<param> |
<key>avg_alpha</key> |
<value>0</value> |
</param> |
<param> |
<key>win</key> |
<value>window.hanning</value> |
</param> |
<param> |
<key>win_size</key> |
<value></value> |
</param> |
<param> |
<key>grid_pos</key> |
<value>2, 1, 1 ,1</value> |
</param> |
<param> |
<key>notebook</key> |
<value>notebook_0,0</value> |
</param> |
<param> |
<key>freqvar</key> |
<value>None</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(977, 491)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>wxgui_fftsink2</key> |
<param> |
<key>id</key> |
<value>wxgui_fftsink2_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>complex</value> |
</param> |
<param> |
<key>title</key> |
<value>ADC 2 FFT Plot</value> |
</param> |
<param> |
<key>samp_rate</key> |
<value>samp_rate</value> |
</param> |
<param> |
<key>baseband_freq</key> |
<value>0</value> |
</param> |
<param> |
<key>y_per_div</key> |
<value>10</value> |
</param> |
<param> |
<key>y_divs</key> |
<value>10</value> |
</param> |
<param> |
<key>ref_level</key> |
<value>0</value> |
</param> |
<param> |
<key>ref_scale</key> |
<value>2.0</value> |
</param> |
<param> |
<key>fft_size</key> |
<value>2048</value> |
</param> |
<param> |
<key>fft_rate</key> |
<value>15</value> |
</param> |
<param> |
<key>peak_hold</key> |
<value>False</value> |
</param> |
<param> |
<key>average</key> |
<value>False</value> |
</param> |
<param> |
<key>avg_alpha</key> |
<value>0</value> |
</param> |
<param> |
<key>win</key> |
<value>window.hanning</value> |
</param> |
<param> |
<key>win_size</key> |
<value></value> |
</param> |
<param> |
<key>grid_pos</key> |
<value></value> |
</param> |
<param> |
<key>notebook</key> |
<value>notebook_0,1</value> |
</param> |
<param> |
<key>freqvar</key> |
<value>None</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(988, 719)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>wxgui_fftsink2</key> |
<param> |
<key>id</key> |
<value>wxgui_fftsink2_1</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>complex</value> |
</param> |
<param> |
<key>title</key> |
<value>ADC 1 FFT Plot</value> |
</param> |
<param> |
<key>samp_rate</key> |
<value>samp_rate</value> |
</param> |
<param> |
<key>baseband_freq</key> |
<value>0</value> |
</param> |
<param> |
<key>y_per_div</key> |
<value>10</value> |
</param> |
<param> |
<key>y_divs</key> |
<value>10</value> |
</param> |
<param> |
<key>ref_level</key> |
<value>0</value> |
</param> |
<param> |
<key>ref_scale</key> |
<value>2.0</value> |
</param> |
<param> |
<key>fft_size</key> |
<value>2048</value> |
</param> |
<param> |
<key>fft_rate</key> |
<value>15</value> |
</param> |
<param> |
<key>peak_hold</key> |
<value>False</value> |
</param> |
<param> |
<key>average</key> |
<value>False</value> |
</param> |
<param> |
<key>avg_alpha</key> |
<value>0</value> |
</param> |
<param> |
<key>win</key> |
<value>window.hanning</value> |
</param> |
<param> |
<key>win_size</key> |
<value></value> |
</param> |
<param> |
<key>grid_pos</key> |
<value></value> |
</param> |
<param> |
<key>notebook</key> |
<value>notebook_0,1</value> |
</param> |
<param> |
<key>freqvar</key> |
<value>None</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(1133, 342)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_file_sink</key> |
<param> |
<key>id</key> |
<value>blocks_file_sink_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>False</value> |
</param> |
<param> |
<key>file</key> |
<value>recfile</value> |
</param> |
<param> |
<key>type</key> |
<value>short</value> |
</param> |
<param> |
<key>vlen</key> |
<value>10</value> |
</param> |
<param> |
<key>unbuffered</key> |
<value>False</value> |
</param> |
<param> |
<key>append</key> |
<value>False</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(127, 594)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<connection> |
<source_block_id>blocks_vector_to_streams_0</source_block_id> |
<sink_block_id>blocks_interleave_0_2</sink_block_id> |
<source_key>2</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_vector_to_streams_0</source_block_id> |
<sink_block_id>blocks_interleave_0_2</sink_block_id> |
<source_key>3</source_key> |
<sink_key>1</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_vector_to_streams_0</source_block_id> |
<sink_block_id>blocks_interleave_0_1</sink_block_id> |
<source_key>4</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_vector_to_streams_0</source_block_id> |
<sink_block_id>blocks_interleave_0_1</sink_block_id> |
<source_key>5</source_key> |
<sink_key>1</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_vector_to_streams_0</source_block_id> |
<sink_block_id>blocks_interleave_0_0</sink_block_id> |
<source_key>6</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_vector_to_streams_0</source_block_id> |
<sink_block_id>blocks_interleave_0_0</sink_block_id> |
<source_key>7</source_key> |
<sink_key>1</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_vector_to_streams_0</source_block_id> |
<sink_block_id>blocks_interleave_0</sink_block_id> |
<source_key>8</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_vector_to_streams_0</source_block_id> |
<sink_block_id>blocks_interleave_0</sink_block_id> |
<source_key>9</source_key> |
<sink_key>1</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_short_to_float_1</source_block_id> |
<sink_block_id>blocks_float_to_complex_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>1</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_short_to_float_0</source_block_id> |
<sink_block_id>blocks_float_to_complex_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_short_to_float_0_0</source_block_id> |
<sink_block_id>blocks_float_to_complex_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_0</source_block_id> |
<sink_block_id>blocks_float_to_complex_0_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>1</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_vector_to_streams_0</source_block_id> |
<sink_block_id>blocks_short_to_float_2</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_vector_to_streams_0</source_block_id> |
<sink_block_id>blocks_short_to_float_2_0</sink_block_id> |
<source_key>1</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_short_to_float_2</source_block_id> |
<sink_block_id>wxgui_scopesink2_1</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_short_to_float_2_0</source_block_id> |
<sink_block_id>wxgui_scopesink2_1</sink_block_id> |
<source_key>0</source_key> |
<sink_key>1</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_short_to_float_0_0</source_block_id> |
<sink_block_id>wxgui_scopesink2_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_short_to_float_1_0</source_block_id> |
<sink_block_id>wxgui_scopesink2_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>1</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_short_to_float_0</source_block_id> |
<sink_block_id>wxgui_scopesink2_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>2</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_short_to_float_1</source_block_id> |
<sink_block_id>wxgui_scopesink2_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>3</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_interleave_0_2</source_block_id> |
<sink_block_id>blocks_short_to_float_0_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_interleave_0_1</source_block_id> |
<sink_block_id>blocks_short_to_float_1_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_interleave_0_0</source_block_id> |
<sink_block_id>blocks_short_to_float_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_interleave_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_throttle_2</source_block_id> |
<sink_block_id>blocks_vector_to_streams_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_file_source_0</source_block_id> |
<sink_block_id>blocks_throttle_2</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_throttle_2</source_block_id> |
<sink_block_id>blocks_file_sink_0</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>dc_blocker_xx_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>dc_blocker_xx_0</source_block_id> |
<sink_block_id>wxgui_waterfallsink2_0_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_float_to_complex_0</source_block_id> |
<sink_block_id>dc_blocker_xx_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>wxgui_fftsink2_1</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_float_to_complex_0</source_block_id> |
<sink_block_id>wxgui_fftsink2_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>wxgui_numbersink2_1</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>wxgui_numbersink2_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>dc_blocker_xx_1</source_block_id> |
<sink_block_id>wxgui_waterfallsink2_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
</flow_graph> |
/Designs/HAM Constructions/SDRX02B/SW/GRC/Grabber_QT.grc |
---|
0,0 → 1,1167 |
<?xml version='1.0' encoding='ASCII'?> |
<flow_graph> |
<timestamp>Wed Apr 9 16:47:01 2014</timestamp> |
<block> |
<key>options</key> |
<param> |
<key>id</key> |
<value>top_block</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>title</key> |
<value></value> |
</param> |
<param> |
<key>author</key> |
<value></value> |
</param> |
<param> |
<key>description</key> |
<value></value> |
</param> |
<param> |
<key>window_size</key> |
<value>1280, 1024</value> |
</param> |
<param> |
<key>generate_options</key> |
<value>qt_gui</value> |
</param> |
<param> |
<key>category</key> |
<value>Custom</value> |
</param> |
<param> |
<key>run_options</key> |
<value>prompt</value> |
</param> |
<param> |
<key>run</key> |
<value>True</value> |
</param> |
<param> |
<key>max_nouts</key> |
<value>0</value> |
</param> |
<param> |
<key>realtime_scheduling</key> |
<value></value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(9, 10)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>variable</key> |
<param> |
<key>id</key> |
<value>samp_rate</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>value</key> |
<value>1e7</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(235, 14)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_interleave</key> |
<param> |
<key>id</key> |
<value>blocks_interleave_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>short</value> |
</param> |
<param> |
<key>num_streams</key> |
<value>2</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(334, 494)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_interleave</key> |
<param> |
<key>id</key> |
<value>blocks_interleave_0_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>short</value> |
</param> |
<param> |
<key>num_streams</key> |
<value>2</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(334, 425)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_interleave</key> |
<param> |
<key>id</key> |
<value>blocks_interleave_0_1</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>short</value> |
</param> |
<param> |
<key>num_streams</key> |
<value>2</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(334, 357)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_interleave</key> |
<param> |
<key>id</key> |
<value>blocks_interleave_0_2</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>short</value> |
</param> |
<param> |
<key>num_streams</key> |
<value>2</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(335, 291)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_vector_to_streams</key> |
<param> |
<key>id</key> |
<value>blocks_vector_to_streams_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>short</value> |
</param> |
<param> |
<key>num_streams</key> |
<value>10</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(131, 222)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_float_to_complex</key> |
<param> |
<key>id</key> |
<value>blocks_float_to_complex_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(795, 627)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_file_source</key> |
<param> |
<key>id</key> |
<value>blocks_file_source_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>file</key> |
<value>/dev/xillybus_data2_r</value> |
</param> |
<param> |
<key>type</key> |
<value>short</value> |
</param> |
<param> |
<key>repeat</key> |
<value>False</value> |
</param> |
<param> |
<key>vlen</key> |
<value>10</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(124, 114)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>180</value> |
</param> |
</block> |
<block> |
<key>blocks_float_to_complex</key> |
<param> |
<key>id</key> |
<value>blocks_float_to_complex_0_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(799, 545)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_short_to_float</key> |
<param> |
<key>id</key> |
<value>blocks_short_to_float_1_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>scale</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(534, 382)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_short_to_float</key> |
<param> |
<key>id</key> |
<value>blocks_short_to_float_0_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>scale</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(536, 329)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_null_sink</key> |
<param> |
<key>id</key> |
<value>blocks_null_sink_0_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>False</value> |
</param> |
<param> |
<key>type</key> |
<value>float</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(787, 264)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_null_sink</key> |
<param> |
<key>id</key> |
<value>blocks_null_sink_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>False</value> |
</param> |
<param> |
<key>type</key> |
<value>float</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(716, 27)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_short_to_float</key> |
<param> |
<key>id</key> |
<value>blocks_short_to_float_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>scale</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(531, 444)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_short_to_float</key> |
<param> |
<key>id</key> |
<value>blocks_short_to_float_1</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>scale</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(527, 497)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_throttle</key> |
<param> |
<key>id</key> |
<value>blocks_throttle_1</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>complex</value> |
</param> |
<param> |
<key>samples_per_second</key> |
<value>samp_rate</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(993, 660)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>270</value> |
</param> |
</block> |
<block> |
<key>qtgui_waterfall_sink_x</key> |
<param> |
<key>id</key> |
<value>qtgui_waterfall_sink_x_1</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>complex</value> |
</param> |
<param> |
<key>name</key> |
<value>QT GUI Plot</value> |
</param> |
<param> |
<key>fftsize</key> |
<value>1024</value> |
</param> |
<param> |
<key>wintype</key> |
<value>firdes.WIN_BLACKMAN_hARRIS</value> |
</param> |
<param> |
<key>fc</key> |
<value>0</value> |
</param> |
<param> |
<key>bw</key> |
<value>samp_rate</value> |
</param> |
<param> |
<key>nconnections</key> |
<value>1</value> |
</param> |
<param> |
<key>update_time</key> |
<value>0.10</value> |
</param> |
<param> |
<key>gui_hint</key> |
<value></value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(1097, 805)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_throttle</key> |
<param> |
<key>id</key> |
<value>blocks_throttle_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>complex</value> |
</param> |
<param> |
<key>samples_per_second</key> |
<value>samp_rate</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(997, 354)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>90</value> |
</param> |
</block> |
<block> |
<key>qtgui_waterfall_sink_x</key> |
<param> |
<key>id</key> |
<value>qtgui_waterfall_sink_x_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>complex</value> |
</param> |
<param> |
<key>name</key> |
<value>QT GUI Plot</value> |
</param> |
<param> |
<key>fftsize</key> |
<value>1024</value> |
</param> |
<param> |
<key>wintype</key> |
<value>firdes.WIN_BLACKMAN_hARRIS</value> |
</param> |
<param> |
<key>fc</key> |
<value>0</value> |
</param> |
<param> |
<key>bw</key> |
<value>samp_rate</value> |
</param> |
<param> |
<key>nconnections</key> |
<value>1</value> |
</param> |
<param> |
<key>update_time</key> |
<value>0.10</value> |
</param> |
<param> |
<key>gui_hint</key> |
<value></value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(1099, 260)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_short_to_float</key> |
<param> |
<key>id</key> |
<value>blocks_short_to_float_2</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>scale</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(529, 166)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_short_to_float</key> |
<param> |
<key>id</key> |
<value>blocks_short_to_float_2_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>scale</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(527, 229)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>qtgui_time_sink_x</key> |
<param> |
<key>id</key> |
<value>qtgui_time_sink_x_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>float</value> |
</param> |
<param> |
<key>name</key> |
<value>QT GUI Plot</value> |
</param> |
<param> |
<key>size</key> |
<value>1024</value> |
</param> |
<param> |
<key>srate</key> |
<value>samp_rate</value> |
</param> |
<param> |
<key>ymin</key> |
<value>-1</value> |
</param> |
<param> |
<key>ymax</key> |
<value>1</value> |
</param> |
<param> |
<key>nconnections</key> |
<value>2</value> |
</param> |
<param> |
<key>update_time</key> |
<value>0.10</value> |
</param> |
<param> |
<key>tr_mode</key> |
<value>qtgui.TRIG_MODE_FREE</value> |
</param> |
<param> |
<key>tr_slope</key> |
<value>qtgui.TRIG_SLOPE_POS</value> |
</param> |
<param> |
<key>tr_level</key> |
<value>0.0</value> |
</param> |
<param> |
<key>tr_delay</key> |
<value>0</value> |
</param> |
<param> |
<key>tr_chan</key> |
<value>0</value> |
</param> |
<param> |
<key>tr_tag</key> |
<value>""</value> |
</param> |
<param> |
<key>entags</key> |
<value>True</value> |
</param> |
<param> |
<key>gui_hint</key> |
<value></value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(849, 102)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<connection> |
<source_block_id>blocks_file_source_0</source_block_id> |
<sink_block_id>blocks_vector_to_streams_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_vector_to_streams_0</source_block_id> |
<sink_block_id>blocks_interleave_0_2</sink_block_id> |
<source_key>2</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_vector_to_streams_0</source_block_id> |
<sink_block_id>blocks_interleave_0_2</sink_block_id> |
<source_key>3</source_key> |
<sink_key>1</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_vector_to_streams_0</source_block_id> |
<sink_block_id>blocks_interleave_0_1</sink_block_id> |
<source_key>4</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_vector_to_streams_0</source_block_id> |
<sink_block_id>blocks_interleave_0_1</sink_block_id> |
<source_key>5</source_key> |
<sink_key>1</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_vector_to_streams_0</source_block_id> |
<sink_block_id>blocks_interleave_0_0</sink_block_id> |
<source_key>6</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_vector_to_streams_0</source_block_id> |
<sink_block_id>blocks_interleave_0_0</sink_block_id> |
<source_key>7</source_key> |
<sink_key>1</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_vector_to_streams_0</source_block_id> |
<sink_block_id>blocks_interleave_0</sink_block_id> |
<source_key>8</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_vector_to_streams_0</source_block_id> |
<sink_block_id>blocks_interleave_0</sink_block_id> |
<source_key>9</source_key> |
<sink_key>1</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_short_to_float_1</source_block_id> |
<sink_block_id>blocks_float_to_complex_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>1</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_short_to_float_0</source_block_id> |
<sink_block_id>blocks_float_to_complex_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_interleave_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_interleave_0_0</source_block_id> |
<sink_block_id>blocks_short_to_float_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_interleave_0_1</source_block_id> |
<sink_block_id>blocks_short_to_float_1_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_interleave_0_2</source_block_id> |
<sink_block_id>blocks_short_to_float_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_0</source_block_id> |
<sink_block_id>blocks_float_to_complex_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_0</source_block_id> |
<sink_block_id>blocks_float_to_complex_0_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>1</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_float_to_complex_0_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_float_to_complex_0</source_block_id> |
<sink_block_id>blocks_throttle_1</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_vector_to_streams_0</source_block_id> |
<sink_block_id>blocks_short_to_float_2</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_vector_to_streams_0</source_block_id> |
<sink_block_id>blocks_short_to_float_2_0</sink_block_id> |
<source_key>1</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_short_to_float_2</source_block_id> |
<sink_block_id>blocks_null_sink_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_short_to_float_2_0</source_block_id> |
<sink_block_id>blocks_null_sink_0_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_throttle_1</source_block_id> |
<sink_block_id>qtgui_waterfall_sink_x_1</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_throttle_0</source_block_id> |
<sink_block_id>qtgui_waterfall_sink_x_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_short_to_float_2</source_block_id> |
<sink_block_id>qtgui_time_sink_x_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_short_to_float_2_0</source_block_id> |
<sink_block_id>qtgui_time_sink_x_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>1</sink_key> |
</connection> |
</flow_graph> |
/Designs/HAM Constructions/SDRX02B/SW/GRC/MLAB_ADC_Grabber.py |
---|
0,0 → 1,273 |
#!/usr/bin/env python |
################################################## |
# Gnuradio Python Flow Graph |
# Title: MLAB ADC Grabber |
# Author: Jakub Kakona |
# Description: Basic software for reading ADC data from ADCdual01A modules trought ML602 development board. |
# Generated: Mon Jun 2 15:58:15 2014 |
################################################## |
from datetime import datetime |
from gnuradio import blocks |
from gnuradio import eng_notation |
from gnuradio import filter |
from gnuradio import gr |
from gnuradio import wxgui |
from gnuradio.eng_option import eng_option |
from gnuradio.fft import window |
from gnuradio.filter import firdes |
from gnuradio.wxgui import fftsink2 |
from gnuradio.wxgui import numbersink2 |
from gnuradio.wxgui import scopesink2 |
from gnuradio.wxgui import waterfallsink2 |
from grc_gnuradio import wxgui as grc_wxgui |
from optparse import OptionParser |
import wx |
class MLAB_ADC_Grabber(grc_wxgui.top_block_gui): |
def __init__(self): |
grc_wxgui.top_block_gui.__init__(self, title="MLAB ADC Grabber") |
_icon_path = "/usr/local/share/icons/hicolor/32x32/apps/gnuradio-grc.png" |
self.SetIcon(wx.Icon(_icon_path, wx.BITMAP_TYPE_ANY)) |
################################################## |
# Variables |
################################################## |
self.prefix = prefix = "/home/localuser/gnuradio/" |
self.samp_rate = samp_rate = 5e6 |
self.recfile = recfile = prefix + datetime.now().strftime("%Y.%m.%d.%H.%M.%S") + ".dat" |
################################################## |
# Blocks |
################################################## |
self.notebook_0 = self.notebook_0 = wx.Notebook(self.GetWin(), style=wx.NB_TOP) |
self.notebook_0.AddPage(grc_wxgui.Panel(self.notebook_0), "Time wiev") |
self.notebook_0.AddPage(grc_wxgui.Panel(self.notebook_0), "Frequency wiev") |
self.notebook_0.AddPage(grc_wxgui.Panel(self.notebook_0), "numbers") |
self.Add(self.notebook_0) |
self.wxgui_waterfallsink2_0_0 = waterfallsink2.waterfall_sink_c( |
self.notebook_0.GetPage(0).GetWin(), |
baseband_freq=0, |
dynamic_range=100, |
ref_level=0, |
ref_scale=2.0, |
sample_rate=samp_rate, |
fft_size=512, |
fft_rate=15, |
average=False, |
avg_alpha=None, |
title="ADC1 Waterfall Plot", |
) |
self.notebook_0.GetPage(0).GridAdd(self.wxgui_waterfallsink2_0_0.win, 1, 1, 1, 1) |
self.wxgui_waterfallsink2_0 = waterfallsink2.waterfall_sink_c( |
self.notebook_0.GetPage(0).GetWin(), |
baseband_freq=0, |
dynamic_range=100, |
ref_level=0, |
ref_scale=2.0, |
sample_rate=samp_rate, |
fft_size=512, |
fft_rate=15, |
average=False, |
avg_alpha=None, |
title="ADC2 Waterfall Plot", |
win=window.hanning, |
) |
self.notebook_0.GetPage(0).GridAdd(self.wxgui_waterfallsink2_0.win, 2, 1, 1, 1) |
self.wxgui_scopesink2_1 = scopesink2.scope_sink_f( |
self.notebook_0.GetPage(0).GetWin(), |
title="Scope Plot", |
sample_rate=samp_rate/2, |
v_scale=0, |
v_offset=0, |
t_scale=1e-2, |
ac_couple=False, |
xy_mode=False, |
num_inputs=2, |
trig_mode=wxgui.TRIG_MODE_AUTO, |
y_axis_label="Counts", |
) |
self.notebook_0.GetPage(0).GridAdd(self.wxgui_scopesink2_1.win, 2, 2, 1, 1) |
self.wxgui_scopesink2_0 = scopesink2.scope_sink_f( |
self.notebook_0.GetPage(0).GetWin(), |
title="Scope Plot", |
sample_rate=samp_rate, |
v_scale=0, |
v_offset=0, |
t_scale=0, |
ac_couple=False, |
xy_mode=False, |
num_inputs=4, |
trig_mode=wxgui.TRIG_MODE_AUTO, |
y_axis_label="Counts", |
) |
self.notebook_0.GetPage(0).GridAdd(self.wxgui_scopesink2_0.win, 1, 2, 1, 1) |
self.wxgui_numbersink2_1 = numbersink2.number_sink_f( |
self.notebook_0.GetPage(2).GetWin(), |
unit="Units", |
minval=-100, |
maxval=100, |
factor=1.0, |
decimal_places=10, |
ref_level=0, |
sample_rate=samp_rate, |
number_rate=15, |
average=False, |
avg_alpha=None, |
label="Number Plot", |
peak_hold=False, |
show_gauge=True, |
) |
self.notebook_0.GetPage(2).Add(self.wxgui_numbersink2_1.win) |
self.wxgui_numbersink2_0 = numbersink2.number_sink_f( |
self.notebook_0.GetPage(2).GetWin(), |
unit="Units", |
minval=-100, |
maxval=100, |
factor=1.0, |
decimal_places=10, |
ref_level=0, |
sample_rate=samp_rate, |
number_rate=15, |
average=False, |
avg_alpha=None, |
label="Number Plot", |
peak_hold=False, |
show_gauge=True, |
) |
self.notebook_0.GetPage(2).Add(self.wxgui_numbersink2_0.win) |
self.wxgui_fftsink2_1 = fftsink2.fft_sink_c( |
self.notebook_0.GetPage(1).GetWin(), |
baseband_freq=0, |
y_per_div=10, |
y_divs=10, |
ref_level=0, |
ref_scale=2.0, |
sample_rate=samp_rate, |
fft_size=2048, |
fft_rate=15, |
average=False, |
avg_alpha=None, |
title="ADC 1 FFT Plot", |
peak_hold=False, |
win=window.hanning, |
) |
self.notebook_0.GetPage(1).Add(self.wxgui_fftsink2_1.win) |
self.wxgui_fftsink2_0 = fftsink2.fft_sink_c( |
self.notebook_0.GetPage(1).GetWin(), |
baseband_freq=0, |
y_per_div=10, |
y_divs=10, |
ref_level=0, |
ref_scale=2.0, |
sample_rate=samp_rate, |
fft_size=2048, |
fft_rate=15, |
average=False, |
avg_alpha=None, |
title="ADC 2 FFT Plot", |
peak_hold=False, |
win=window.hanning, |
) |
self.notebook_0.GetPage(1).Add(self.wxgui_fftsink2_0.win) |
self.dc_blocker_xx_1 = filter.dc_blocker_cc(32, True) |
self.dc_blocker_xx_0 = filter.dc_blocker_cc(32, True) |
self.blocks_vector_to_streams_0 = blocks.vector_to_streams(gr.sizeof_short*1, 10) |
self.blocks_throttle_2 = blocks.throttle(gr.sizeof_short*10, samp_rate/2) |
self.blocks_short_to_float_2_0 = blocks.short_to_float(1, 1) |
self.blocks_short_to_float_2 = blocks.short_to_float(1, 1) |
self.blocks_short_to_float_1_0 = blocks.short_to_float(1, 1) |
self.blocks_short_to_float_1 = blocks.short_to_float(1, 1) |
self.blocks_short_to_float_0_0 = blocks.short_to_float(1, 1) |
self.blocks_short_to_float_0 = blocks.short_to_float(1, 1) |
self.blocks_interleave_0_2 = blocks.interleave(gr.sizeof_short*1) |
self.blocks_interleave_0_1 = blocks.interleave(gr.sizeof_short*1) |
self.blocks_interleave_0_0 = blocks.interleave(gr.sizeof_short*1) |
self.blocks_interleave_0 = blocks.interleave(gr.sizeof_short*1) |
self.blocks_float_to_complex_0_0 = blocks.float_to_complex(1) |
self.blocks_float_to_complex_0 = blocks.float_to_complex(1) |
self.blocks_file_source_0 = blocks.file_source(gr.sizeof_short*10, "/dev/xillybus_data2_r", False) |
################################################## |
# Connections |
################################################## |
self.connect((self.blocks_vector_to_streams_0, 2), (self.blocks_interleave_0_2, 0)) |
self.connect((self.blocks_vector_to_streams_0, 3), (self.blocks_interleave_0_2, 1)) |
self.connect((self.blocks_vector_to_streams_0, 4), (self.blocks_interleave_0_1, 0)) |
self.connect((self.blocks_vector_to_streams_0, 5), (self.blocks_interleave_0_1, 1)) |
self.connect((self.blocks_vector_to_streams_0, 6), (self.blocks_interleave_0_0, 0)) |
self.connect((self.blocks_vector_to_streams_0, 7), (self.blocks_interleave_0_0, 1)) |
self.connect((self.blocks_vector_to_streams_0, 8), (self.blocks_interleave_0, 0)) |
self.connect((self.blocks_vector_to_streams_0, 9), (self.blocks_interleave_0, 1)) |
self.connect((self.blocks_short_to_float_1, 0), (self.blocks_float_to_complex_0, 1)) |
self.connect((self.blocks_short_to_float_0, 0), (self.blocks_float_to_complex_0, 0)) |
self.connect((self.blocks_short_to_float_0_0, 0), (self.blocks_float_to_complex_0_0, 0)) |
self.connect((self.blocks_short_to_float_1_0, 0), (self.blocks_float_to_complex_0_0, 1)) |
self.connect((self.blocks_vector_to_streams_0, 0), (self.blocks_short_to_float_2, 0)) |
self.connect((self.blocks_vector_to_streams_0, 1), (self.blocks_short_to_float_2_0, 0)) |
self.connect((self.blocks_short_to_float_2, 0), (self.wxgui_scopesink2_1, 0)) |
self.connect((self.blocks_short_to_float_2_0, 0), (self.wxgui_scopesink2_1, 1)) |
self.connect((self.blocks_short_to_float_0_0, 0), (self.wxgui_scopesink2_0, 0)) |
self.connect((self.blocks_short_to_float_1_0, 0), (self.wxgui_scopesink2_0, 1)) |
self.connect((self.blocks_short_to_float_0, 0), (self.wxgui_scopesink2_0, 2)) |
self.connect((self.blocks_short_to_float_1, 0), (self.wxgui_scopesink2_0, 3)) |
self.connect((self.blocks_interleave_0_2, 0), (self.blocks_short_to_float_0_0, 0)) |
self.connect((self.blocks_interleave_0_1, 0), (self.blocks_short_to_float_1_0, 0)) |
self.connect((self.blocks_interleave_0_0, 0), (self.blocks_short_to_float_0, 0)) |
self.connect((self.blocks_interleave_0, 0), (self.blocks_short_to_float_1, 0)) |
self.connect((self.blocks_throttle_2, 0), (self.blocks_vector_to_streams_0, 0)) |
self.connect((self.blocks_file_source_0, 0), (self.blocks_throttle_2, 0)) |
self.connect((self.blocks_float_to_complex_0_0, 0), (self.dc_blocker_xx_0, 0)) |
self.connect((self.dc_blocker_xx_0, 0), (self.wxgui_waterfallsink2_0_0, 0)) |
self.connect((self.blocks_float_to_complex_0, 0), (self.dc_blocker_xx_1, 0)) |
self.connect((self.blocks_float_to_complex_0_0, 0), (self.wxgui_fftsink2_1, 0)) |
self.connect((self.blocks_float_to_complex_0, 0), (self.wxgui_fftsink2_0, 0)) |
self.connect((self.blocks_short_to_float_0, 0), (self.wxgui_numbersink2_1, 0)) |
self.connect((self.blocks_short_to_float_1, 0), (self.wxgui_numbersink2_0, 0)) |
self.connect((self.dc_blocker_xx_1, 0), (self.wxgui_waterfallsink2_0, 0)) |
# QT sink close method reimplementation |
def get_prefix(self): |
return self.prefix |
def set_prefix(self, prefix): |
self.prefix = prefix |
self.set_recfile(self.prefix + datetime.now().strftime("%Y.%m.%d.%H.%M.%S") + ".dat") |
def get_samp_rate(self): |
return self.samp_rate |
def set_samp_rate(self, samp_rate): |
self.samp_rate = samp_rate |
self.blocks_throttle_2.set_sample_rate(self.samp_rate/2) |
self.wxgui_scopesink2_1.set_sample_rate(self.samp_rate/2) |
self.wxgui_waterfallsink2_0_0.set_sample_rate(self.samp_rate) |
self.wxgui_scopesink2_0.set_sample_rate(self.samp_rate) |
self.wxgui_waterfallsink2_0.set_sample_rate(self.samp_rate) |
self.wxgui_fftsink2_0.set_sample_rate(self.samp_rate) |
self.wxgui_fftsink2_1.set_sample_rate(self.samp_rate) |
def get_recfile(self): |
return self.recfile |
def set_recfile(self, recfile): |
self.recfile = recfile |
if __name__ == '__main__': |
import ctypes |
import sys |
if sys.platform.startswith('linux'): |
try: |
x11 = ctypes.cdll.LoadLibrary('libX11.so') |
x11.XInitThreads() |
except: |
print "Warning: failed to XInitThreads()" |
parser = OptionParser(option_class=eng_option, usage="%prog: [options]") |
(options, args) = parser.parse_args() |
tb = MLAB_ADC_Grabber() |
tb.Start(True) |
tb.Wait() |
Property changes: |
Added: svn:executable |
+* |
\ No newline at end of property |
/Designs/HAM Constructions/SDRX02B/SW/GRC/Player.grc |
---|
0,0 → 1,2271 |
<?xml version='1.0' encoding='ASCII'?> |
<flow_graph> |
<timestamp>Fri May 30 02:00:44 2014</timestamp> |
<block> |
<key>options</key> |
<param> |
<key>id</key> |
<value>Records_player</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>title</key> |
<value></value> |
</param> |
<param> |
<key>author</key> |
<value>Jakub Kakona</value> |
</param> |
<param> |
<key>description</key> |
<value></value> |
</param> |
<param> |
<key>window_size</key> |
<value>4096, 4096</value> |
</param> |
<param> |
<key>generate_options</key> |
<value>wx_gui</value> |
</param> |
<param> |
<key>category</key> |
<value>Custom</value> |
</param> |
<param> |
<key>run_options</key> |
<value>prompt</value> |
</param> |
<param> |
<key>run</key> |
<value>True</value> |
</param> |
<param> |
<key>max_nouts</key> |
<value>0</value> |
</param> |
<param> |
<key>realtime_scheduling</key> |
<value></value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(10, 10)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>variable</key> |
<param> |
<key>id</key> |
<value>LO</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>value</key> |
<value>286078822.488</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(1263, 609)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>variable</key> |
<param> |
<key>id</key> |
<value>filename</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>value</key> |
<value>"2014.05.02.14.58.50.dat"</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(488, 17)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>variable</key> |
<param> |
<key>id</key> |
<value>outfile_ADC2</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>value</key> |
<value>out_dir+filename+"ADC2.wav"</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(2284, 772)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>variable</key> |
<param> |
<key>id</key> |
<value>outfile_ADC1</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>value</key> |
<value>out_dir+filename+"ADC1.wav"</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(2293, 166)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>variable</key> |
<param> |
<key>id</key> |
<value>samp_rate</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>value</key> |
<value>5e6</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(200, 11)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>variable</key> |
<param> |
<key>id</key> |
<value>srcfile</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>value</key> |
<value>prefix+filename</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(461, 103)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>variable</key> |
<param> |
<key>id</key> |
<value>normalize</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>value</key> |
<value>1/200.0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(1384, 727)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>variable</key> |
<param> |
<key>id</key> |
<value>prefix</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>value</key> |
<value>"/media/kaklik/Radio_zaloha/2014-05-02/"</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(276, 100)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>variable</key> |
<param> |
<key>id</key> |
<value>cutoff</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>value</key> |
<value>1000</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(1609, 392)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>variable</key> |
<param> |
<key>id</key> |
<value>out_sample_rate</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>value</key> |
<value>int(2e3)</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(1589, 487)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>variable</key> |
<param> |
<key>id</key> |
<value>out_dir</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>value</key> |
<value>"/home/kaklik/git/pysdr/"</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(2315, 32)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_vector_to_streams</key> |
<param> |
<key>id</key> |
<value>blocks_vector_to_streams_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>short</value> |
</param> |
<param> |
<key>num_streams</key> |
<value>10</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(68, 212)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_short_to_float</key> |
<param> |
<key>id</key> |
<value>blocks_short_to_float_1</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>scale</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(445, 484)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_interleave</key> |
<param> |
<key>id</key> |
<value>blocks_interleave_0_1</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>short</value> |
</param> |
<param> |
<key>num_streams</key> |
<value>2</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(282, 348)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_interleave</key> |
<param> |
<key>id</key> |
<value>blocks_interleave_0_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>short</value> |
</param> |
<param> |
<key>num_streams</key> |
<value>2</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(282, 416)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_interleave</key> |
<param> |
<key>id</key> |
<value>blocks_interleave_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>short</value> |
</param> |
<param> |
<key>num_streams</key> |
<value>2</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(282, 485)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_short_to_float</key> |
<param> |
<key>id</key> |
<value>blocks_short_to_float_1_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>scale</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(452, 369)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_interleave</key> |
<param> |
<key>id</key> |
<value>blocks_interleave_0_2</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>short</value> |
</param> |
<param> |
<key>num_streams</key> |
<value>2</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(283, 282)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_short_to_float</key> |
<param> |
<key>id</key> |
<value>blocks_short_to_float_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>scale</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(449, 431)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>freq_xlating_fir_filter_xxx</key> |
<param> |
<key>id</key> |
<value>freq_xlating_fir_filter_xxx_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>ccc</value> |
</param> |
<param> |
<key>decim</key> |
<value>1</value> |
</param> |
<param> |
<key>taps</key> |
<value>[1]</value> |
</param> |
<param> |
<key>center_freq</key> |
<value>143050000-LO/2</value> |
</param> |
<param> |
<key>samp_rate</key> |
<value>samp_rate</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(1360, 47)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_short_to_float</key> |
<param> |
<key>id</key> |
<value>blocks_short_to_float_0_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>scale</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(454, 316)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>notebook</key> |
<param> |
<key>id</key> |
<value>notebook_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>style</key> |
<value>wx.NB_TOP</value> |
</param> |
<param> |
<key>labels</key> |
<value>['RF signal', 'Scope', 'Demod']</value> |
</param> |
<param> |
<key>grid_pos</key> |
<value></value> |
</param> |
<param> |
<key>notebook</key> |
<value></value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(308, 14)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_float_to_complex</key> |
<param> |
<key>id</key> |
<value>blocks_float_to_complex_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(854, 369)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>wxgui_scopesink2</key> |
<param> |
<key>id</key> |
<value>wxgui_scopesink2_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>float</value> |
</param> |
<param> |
<key>title</key> |
<value>Scope Plot</value> |
</param> |
<param> |
<key>samp_rate</key> |
<value>samp_rate</value> |
</param> |
<param> |
<key>v_scale</key> |
<value>0</value> |
</param> |
<param> |
<key>v_offset</key> |
<value>0</value> |
</param> |
<param> |
<key>t_scale</key> |
<value>0</value> |
</param> |
<param> |
<key>ac_couple</key> |
<value>False</value> |
</param> |
<param> |
<key>xy_mode</key> |
<value>False</value> |
</param> |
<param> |
<key>num_inputs</key> |
<value>4</value> |
</param> |
<param> |
<key>win_size</key> |
<value></value> |
</param> |
<param> |
<key>grid_pos</key> |
<value></value> |
</param> |
<param> |
<key>notebook</key> |
<value>notebook_0, 1</value> |
</param> |
<param> |
<key>trig_mode</key> |
<value>wxgui.TRIG_MODE_AUTO</value> |
</param> |
<param> |
<key>y_axis_label</key> |
<value>Counts</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(624, 601)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>270</value> |
</param> |
</block> |
<block> |
<key>blocks_float_to_complex</key> |
<param> |
<key>id</key> |
<value>blocks_float_to_complex_0_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(863, 255)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_short_to_float</key> |
<param> |
<key>id</key> |
<value>blocks_short_to_float_2_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>scale</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(383, 244)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_short_to_float</key> |
<param> |
<key>id</key> |
<value>blocks_short_to_float_2</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>scale</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(380, 191)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>freq_xlating_fir_filter_xxx</key> |
<param> |
<key>id</key> |
<value>freq_xlating_fir_filter_xxx_0_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>ccc</value> |
</param> |
<param> |
<key>decim</key> |
<value>1</value> |
</param> |
<param> |
<key>taps</key> |
<value>[1]</value> |
</param> |
<param> |
<key>center_freq</key> |
<value>143050000-LO/2</value> |
</param> |
<param> |
<key>samp_rate</key> |
<value>samp_rate</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(1351, 417)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_wavfile_sink</key> |
<param> |
<key>id</key> |
<value>blocks_wavfile_sink_1</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>file</key> |
<value>outfile_ADC1</value> |
</param> |
<param> |
<key>nchan</key> |
<value>2</value> |
</param> |
<param> |
<key>samp_rate</key> |
<value>out_sample_rate</value> |
</param> |
<param> |
<key>bits_per_sample</key> |
<value>16</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(2287, 279)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_wavfile_sink</key> |
<param> |
<key>id</key> |
<value>blocks_wavfile_sink_1_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>file</key> |
<value>outfile_ADC2</value> |
</param> |
<param> |
<key>nchan</key> |
<value>2</value> |
</param> |
<param> |
<key>samp_rate</key> |
<value>out_sample_rate</value> |
</param> |
<param> |
<key>bits_per_sample</key> |
<value>16</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(2297, 657)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>wxgui_scopesink2</key> |
<param> |
<key>id</key> |
<value>wxgui_scopesink2_1</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>float</value> |
</param> |
<param> |
<key>title</key> |
<value>Scope Plot</value> |
</param> |
<param> |
<key>samp_rate</key> |
<value>samp_rate/2</value> |
</param> |
<param> |
<key>v_scale</key> |
<value>0</value> |
</param> |
<param> |
<key>v_offset</key> |
<value>0</value> |
</param> |
<param> |
<key>t_scale</key> |
<value>1e-2</value> |
</param> |
<param> |
<key>ac_couple</key> |
<value>False</value> |
</param> |
<param> |
<key>xy_mode</key> |
<value>False</value> |
</param> |
<param> |
<key>num_inputs</key> |
<value>2</value> |
</param> |
<param> |
<key>win_size</key> |
<value></value> |
</param> |
<param> |
<key>grid_pos</key> |
<value></value> |
</param> |
<param> |
<key>notebook</key> |
<value>notebook_0, 1</value> |
</param> |
<param> |
<key>trig_mode</key> |
<value>wxgui.TRIG_MODE_AUTO</value> |
</param> |
<param> |
<key>y_axis_label</key> |
<value>Counts</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(694, 134)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_multiply_conjugate_cc</key> |
<param> |
<key>id</key> |
<value>blocks_multiply_conjugate_cc_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(1868, 493)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>wxgui_waterfallsink2</key> |
<param> |
<key>id</key> |
<value>wxgui_waterfallsink2_1_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>complex</value> |
</param> |
<param> |
<key>title</key> |
<value>IF Plot</value> |
</param> |
<param> |
<key>samp_rate</key> |
<value>out_sample_rate</value> |
</param> |
<param> |
<key>baseband_freq</key> |
<value>0</value> |
</param> |
<param> |
<key>dynamic_range</key> |
<value>100</value> |
</param> |
<param> |
<key>ref_level</key> |
<value>0</value> |
</param> |
<param> |
<key>ref_scale</key> |
<value>2.0</value> |
</param> |
<param> |
<key>fft_size</key> |
<value>512</value> |
</param> |
<param> |
<key>fft_rate</key> |
<value>15</value> |
</param> |
<param> |
<key>average</key> |
<value>False</value> |
</param> |
<param> |
<key>avg_alpha</key> |
<value>0</value> |
</param> |
<param> |
<key>win</key> |
<value>window.blackmanharris</value> |
</param> |
<param> |
<key>win_size</key> |
<value>1200, 400</value> |
</param> |
<param> |
<key>grid_pos</key> |
<value></value> |
</param> |
<param> |
<key>notebook</key> |
<value>notebook_0, 2</value> |
</param> |
<param> |
<key>freqvar</key> |
<value>None</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(1815, 856)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>wxgui_waterfallsink2</key> |
<param> |
<key>id</key> |
<value>wxgui_waterfallsink2_1</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>complex</value> |
</param> |
<param> |
<key>title</key> |
<value>IF Plot</value> |
</param> |
<param> |
<key>samp_rate</key> |
<value>out_sample_rate</value> |
</param> |
<param> |
<key>baseband_freq</key> |
<value>0</value> |
</param> |
<param> |
<key>dynamic_range</key> |
<value>100</value> |
</param> |
<param> |
<key>ref_level</key> |
<value>0</value> |
</param> |
<param> |
<key>ref_scale</key> |
<value>2.0</value> |
</param> |
<param> |
<key>fft_size</key> |
<value>512</value> |
</param> |
<param> |
<key>fft_rate</key> |
<value>15</value> |
</param> |
<param> |
<key>average</key> |
<value>False</value> |
</param> |
<param> |
<key>avg_alpha</key> |
<value>0</value> |
</param> |
<param> |
<key>win</key> |
<value>window.blackmanharris</value> |
</param> |
<param> |
<key>win_size</key> |
<value>1200,400</value> |
</param> |
<param> |
<key>grid_pos</key> |
<value></value> |
</param> |
<param> |
<key>notebook</key> |
<value>notebook_0, 2</value> |
</param> |
<param> |
<key>freqvar</key> |
<value>None</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(1804, 51)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>wxgui_waterfallsink2</key> |
<param> |
<key>id</key> |
<value>wxgui_waterfallsink2_0_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>complex</value> |
</param> |
<param> |
<key>title</key> |
<value>ADC1 Waterfall Plot</value> |
</param> |
<param> |
<key>samp_rate</key> |
<value>samp_rate</value> |
</param> |
<param> |
<key>baseband_freq</key> |
<value>0</value> |
</param> |
<param> |
<key>dynamic_range</key> |
<value>100</value> |
</param> |
<param> |
<key>ref_level</key> |
<value>0</value> |
</param> |
<param> |
<key>ref_scale</key> |
<value>2.0</value> |
</param> |
<param> |
<key>fft_size</key> |
<value>1024</value> |
</param> |
<param> |
<key>fft_rate</key> |
<value>15</value> |
</param> |
<param> |
<key>average</key> |
<value>False</value> |
</param> |
<param> |
<key>avg_alpha</key> |
<value>0</value> |
</param> |
<param> |
<key>win</key> |
<value>None</value> |
</param> |
<param> |
<key>win_size</key> |
<value></value> |
</param> |
<param> |
<key>grid_pos</key> |
<value></value> |
</param> |
<param> |
<key>notebook</key> |
<value>notebook_0, 0</value> |
</param> |
<param> |
<key>freqvar</key> |
<value>None</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(950, 31)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>wxgui_waterfallsink2</key> |
<param> |
<key>id</key> |
<value>wxgui_waterfallsink2_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>complex</value> |
</param> |
<param> |
<key>title</key> |
<value>ADC2 Waterfall Plot</value> |
</param> |
<param> |
<key>samp_rate</key> |
<value>samp_rate</value> |
</param> |
<param> |
<key>baseband_freq</key> |
<value>0</value> |
</param> |
<param> |
<key>dynamic_range</key> |
<value>100</value> |
</param> |
<param> |
<key>ref_level</key> |
<value>0</value> |
</param> |
<param> |
<key>ref_scale</key> |
<value>2.0</value> |
</param> |
<param> |
<key>fft_size</key> |
<value>512</value> |
</param> |
<param> |
<key>fft_rate</key> |
<value>15</value> |
</param> |
<param> |
<key>average</key> |
<value>False</value> |
</param> |
<param> |
<key>avg_alpha</key> |
<value>0</value> |
</param> |
<param> |
<key>win</key> |
<value>window.hanning</value> |
</param> |
<param> |
<key>win_size</key> |
<value></value> |
</param> |
<param> |
<key>grid_pos</key> |
<value></value> |
</param> |
<param> |
<key>notebook</key> |
<value>notebook_0, 0</value> |
</param> |
<param> |
<key>freqvar</key> |
<value>None</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(967, 546)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>low_pass_filter</key> |
<param> |
<key>id</key> |
<value>low_pass_filter_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>fir_filter_ccf</value> |
</param> |
<param> |
<key>decim</key> |
<value>int(samp_rate/out_sample_rate)</value> |
</param> |
<param> |
<key>interp</key> |
<value>1</value> |
</param> |
<param> |
<key>gain</key> |
<value>normalize</value> |
</param> |
<param> |
<key>samp_rate</key> |
<value>samp_rate</value> |
</param> |
<param> |
<key>cutoff_freq</key> |
<value>cutoff</value> |
</param> |
<param> |
<key>width</key> |
<value>1e3</value> |
</param> |
<param> |
<key>win</key> |
<value>firdes.WIN_HAMMING</value> |
</param> |
<param> |
<key>beta</key> |
<value>6.76</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(1528, 206)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_complex_to_float</key> |
<param> |
<key>id</key> |
<value>blocks_complex_to_float_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(1868, 329)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>wxgui_scopesink2</key> |
<param> |
<key>id</key> |
<value>wxgui_scopesink2_2</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>complex</value> |
</param> |
<param> |
<key>title</key> |
<value>Scope Plot</value> |
</param> |
<param> |
<key>samp_rate</key> |
<value>out_sample_rate</value> |
</param> |
<param> |
<key>v_scale</key> |
<value>0</value> |
</param> |
<param> |
<key>v_offset</key> |
<value>0</value> |
</param> |
<param> |
<key>t_scale</key> |
<value>0</value> |
</param> |
<param> |
<key>ac_couple</key> |
<value>False</value> |
</param> |
<param> |
<key>xy_mode</key> |
<value>True</value> |
</param> |
<param> |
<key>num_inputs</key> |
<value>1</value> |
</param> |
<param> |
<key>win_size</key> |
<value></value> |
</param> |
<param> |
<key>grid_pos</key> |
<value></value> |
</param> |
<param> |
<key>notebook</key> |
<value></value> |
</param> |
<param> |
<key>trig_mode</key> |
<value>wxgui.TRIG_MODE_AUTO</value> |
</param> |
<param> |
<key>y_axis_label</key> |
<value>Counts</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(2108, 474)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>low_pass_filter</key> |
<param> |
<key>id</key> |
<value>low_pass_filter_0_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>fir_filter_ccf</value> |
</param> |
<param> |
<key>decim</key> |
<value>int(samp_rate/out_sample_rate)</value> |
</param> |
<param> |
<key>interp</key> |
<value>1</value> |
</param> |
<param> |
<key>gain</key> |
<value>normalize</value> |
</param> |
<param> |
<key>samp_rate</key> |
<value>samp_rate</value> |
</param> |
<param> |
<key>cutoff_freq</key> |
<value>cutoff</value> |
</param> |
<param> |
<key>width</key> |
<value>1e3</value> |
</param> |
<param> |
<key>win</key> |
<value>firdes.WIN_HAMMING</value> |
</param> |
<param> |
<key>beta</key> |
<value>6.76</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(1554, 607)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_complex_to_float</key> |
<param> |
<key>id</key> |
<value>blocks_complex_to_float_0_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(1815, 725)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_throttle</key> |
<param> |
<key>id</key> |
<value>blocks_throttle_2</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>short</value> |
</param> |
<param> |
<key>samples_per_second</key> |
<value>samp_rate/2</value> |
</param> |
<param> |
<key>vlen</key> |
<value>10</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(20, 211)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>270</value> |
</param> |
</block> |
<block> |
<key>blocks_file_sink</key> |
<param> |
<key>id</key> |
<value>blocks_file_sink_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>False</value> |
</param> |
<param> |
<key>file</key> |
<value></value> |
</param> |
<param> |
<key>type</key> |
<value>short</value> |
</param> |
<param> |
<key>vlen</key> |
<value>10</value> |
</param> |
<param> |
<key>unbuffered</key> |
<value>False</value> |
</param> |
<param> |
<key>append</key> |
<value>False</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(129, 593)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_file_source</key> |
<param> |
<key>id</key> |
<value>blocks_file_source_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>file</key> |
<value>/home/localuser/gnuradio/2014.05.02.15.40.33.dat</value> |
</param> |
<param> |
<key>type</key> |
<value>short</value> |
</param> |
<param> |
<key>repeat</key> |
<value>False</value> |
</param> |
<param> |
<key>vlen</key> |
<value>10</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(151, 96)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>180</value> |
</param> |
</block> |
<connection> |
<source_block_id>blocks_vector_to_streams_0</source_block_id> |
<sink_block_id>blocks_interleave_0_2</sink_block_id> |
<source_key>2</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_vector_to_streams_0</source_block_id> |
<sink_block_id>blocks_interleave_0_2</sink_block_id> |
<source_key>3</source_key> |
<sink_key>1</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_vector_to_streams_0</source_block_id> |
<sink_block_id>blocks_interleave_0_1</sink_block_id> |
<source_key>4</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_vector_to_streams_0</source_block_id> |
<sink_block_id>blocks_interleave_0_1</sink_block_id> |
<source_key>5</source_key> |
<sink_key>1</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_throttle_2</source_block_id> |
<sink_block_id>blocks_vector_to_streams_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_file_source_0</source_block_id> |
<sink_block_id>blocks_throttle_2</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_vector_to_streams_0</source_block_id> |
<sink_block_id>blocks_interleave_0_0</sink_block_id> |
<source_key>6</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_vector_to_streams_0</source_block_id> |
<sink_block_id>blocks_interleave_0_0</sink_block_id> |
<source_key>7</source_key> |
<sink_key>1</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_vector_to_streams_0</source_block_id> |
<sink_block_id>blocks_interleave_0</sink_block_id> |
<source_key>8</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_vector_to_streams_0</source_block_id> |
<sink_block_id>blocks_interleave_0</sink_block_id> |
<source_key>9</source_key> |
<sink_key>1</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_interleave_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_interleave_0_0</source_block_id> |
<sink_block_id>blocks_short_to_float_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>wxgui_scopesink2_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>3</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_short_to_float_0</source_block_id> |
<sink_block_id>wxgui_scopesink2_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>2</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_interleave_0_1</source_block_id> |
<sink_block_id>blocks_short_to_float_1_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_interleave_0_2</source_block_id> |
<sink_block_id>blocks_short_to_float_0_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>low_pass_filter_0</source_block_id> |
<sink_block_id>blocks_complex_to_float_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>freq_xlating_fir_filter_xxx_0</source_block_id> |
<sink_block_id>low_pass_filter_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>low_pass_filter_0</source_block_id> |
<sink_block_id>wxgui_waterfallsink2_1</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>low_pass_filter_0_0</source_block_id> |
<sink_block_id>blocks_complex_to_float_0_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>freq_xlating_fir_filter_xxx_0_0</source_block_id> |
<sink_block_id>low_pass_filter_0_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>low_pass_filter_0_0</source_block_id> |
<sink_block_id>wxgui_waterfallsink2_1_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_short_to_float_2_0</source_block_id> |
<sink_block_id>wxgui_scopesink2_1</sink_block_id> |
<source_key>0</source_key> |
<sink_key>1</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_short_to_float_2</source_block_id> |
<sink_block_id>wxgui_scopesink2_1</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_vector_to_streams_0</source_block_id> |
<sink_block_id>blocks_short_to_float_2_0</sink_block_id> |
<source_key>1</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_vector_to_streams_0</source_block_id> |
<sink_block_id>blocks_short_to_float_2</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_float_to_complex_0</source_block_id> |
<sink_block_id>freq_xlating_fir_filter_xxx_0_0</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>freq_xlating_fir_filter_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_0</source_block_id> |
<sink_block_id>blocks_float_to_complex_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_0</source_block_id> |
<sink_block_id>blocks_float_to_complex_0_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>1</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_short_to_float_1</source_block_id> |
<sink_block_id>blocks_float_to_complex_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>1</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_short_to_float_0</source_block_id> |
<sink_block_id>blocks_float_to_complex_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_short_to_float_0_0</source_block_id> |
<sink_block_id>wxgui_scopesink2_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_short_to_float_1_0</source_block_id> |
<sink_block_id>wxgui_scopesink2_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>1</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_float_to_complex_0</source_block_id> |
<sink_block_id>wxgui_waterfallsink2_0</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>wxgui_waterfallsink2_0_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_complex_to_float_0_0</source_block_id> |
<sink_block_id>blocks_wavfile_sink_1_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_complex_to_float_0_0</source_block_id> |
<sink_block_id>blocks_wavfile_sink_1_0</sink_block_id> |
<source_key>1</source_key> |
<sink_key>1</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_complex_to_float_0</source_block_id> |
<sink_block_id>blocks_wavfile_sink_1</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_complex_to_float_0</source_block_id> |
<sink_block_id>blocks_wavfile_sink_1</sink_block_id> |
<source_key>1</source_key> |
<sink_key>1</sink_key> |
</connection> |
<connection> |
<source_block_id>low_pass_filter_0</source_block_id> |
<sink_block_id>blocks_multiply_conjugate_cc_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>low_pass_filter_0_0</source_block_id> |
<sink_block_id>blocks_multiply_conjugate_cc_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>1</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_multiply_conjugate_cc_0</source_block_id> |
<sink_block_id>wxgui_scopesink2_2</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_throttle_2</source_block_id> |
<sink_block_id>blocks_file_sink_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
</flow_graph> |
/Designs/HAM Constructions/SDRX02B/SW/GRC/Player_balance.grc |
---|
0,0 → 1,2486 |
<?xml version='1.0' encoding='ASCII'?> |
<flow_graph> |
<timestamp>Fri May 30 01:35:13 2014</timestamp> |
<block> |
<key>options</key> |
<param> |
<key>id</key> |
<value>Records_player</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>title</key> |
<value></value> |
</param> |
<param> |
<key>author</key> |
<value>Jakub Kakona</value> |
</param> |
<param> |
<key>description</key> |
<value></value> |
</param> |
<param> |
<key>window_size</key> |
<value>4096, 4096</value> |
</param> |
<param> |
<key>generate_options</key> |
<value>wx_gui</value> |
</param> |
<param> |
<key>category</key> |
<value>Custom</value> |
</param> |
<param> |
<key>run_options</key> |
<value>prompt</value> |
</param> |
<param> |
<key>run</key> |
<value>True</value> |
</param> |
<param> |
<key>max_nouts</key> |
<value>0</value> |
</param> |
<param> |
<key>realtime_scheduling</key> |
<value></value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(10, 10)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>variable</key> |
<param> |
<key>id</key> |
<value>out_sample_rate</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>value</key> |
<value>int(2e3)</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(1419, 542)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>variable</key> |
<param> |
<key>id</key> |
<value>normalize</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>value</key> |
<value>1/200.0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(1476, 734)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>variable</key> |
<param> |
<key>id</key> |
<value>tune</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>value</key> |
<value>143050000-LO/2</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(1426, 617)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>variable</key> |
<param> |
<key>id</key> |
<value>filename</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>value</key> |
<value>"2014.05.02.15.59.35.dat"</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(488, 17)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>variable</key> |
<param> |
<key>id</key> |
<value>cutoff</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>value</key> |
<value>1000</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(1584, 367)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>variable</key> |
<param> |
<key>id</key> |
<value>srcfile</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>value</key> |
<value>prefix+filename</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(461, 103)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>variable</key> |
<param> |
<key>id</key> |
<value>prefix</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>value</key> |
<value>"/media/kaklik/Radio_zaloha/2014-05-02/"</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(276, 100)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>variable</key> |
<param> |
<key>id</key> |
<value>out_dir</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>value</key> |
<value>"/home/kaklik/git/pysdr/"</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(2316, 31)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>variable</key> |
<param> |
<key>id</key> |
<value>samp_rate</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>value</key> |
<value>5e6</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(200, 11)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>variable</key> |
<param> |
<key>id</key> |
<value>outfile_ADC1</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>value</key> |
<value>out_dir+filename+"ADC1.wav"</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(2293, 166)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>variable</key> |
<param> |
<key>id</key> |
<value>LO</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>value</key> |
<value>284078796.988</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(1263, 609)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>variable</key> |
<param> |
<key>id</key> |
<value>outfile_ADC2</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>value</key> |
<value>out_dir+filename+"ADC2.wav"</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(2284, 769)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_vector_to_streams</key> |
<param> |
<key>id</key> |
<value>blocks_vector_to_streams_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>short</value> |
</param> |
<param> |
<key>num_streams</key> |
<value>10</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(68, 212)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_short_to_float</key> |
<param> |
<key>id</key> |
<value>blocks_short_to_float_1</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>scale</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(445, 484)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_interleave</key> |
<param> |
<key>id</key> |
<value>blocks_interleave_0_1</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>short</value> |
</param> |
<param> |
<key>num_streams</key> |
<value>2</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(282, 348)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_interleave</key> |
<param> |
<key>id</key> |
<value>blocks_interleave_0_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>short</value> |
</param> |
<param> |
<key>num_streams</key> |
<value>2</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(282, 416)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_interleave</key> |
<param> |
<key>id</key> |
<value>blocks_interleave_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>short</value> |
</param> |
<param> |
<key>num_streams</key> |
<value>2</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(282, 485)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_short_to_float</key> |
<param> |
<key>id</key> |
<value>blocks_short_to_float_1_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>scale</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(452, 369)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_interleave</key> |
<param> |
<key>id</key> |
<value>blocks_interleave_0_2</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>short</value> |
</param> |
<param> |
<key>num_streams</key> |
<value>2</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(283, 282)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_short_to_float</key> |
<param> |
<key>id</key> |
<value>blocks_short_to_float_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>scale</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(449, 431)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_short_to_float</key> |
<param> |
<key>id</key> |
<value>blocks_short_to_float_0_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>scale</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(454, 316)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>notebook</key> |
<param> |
<key>id</key> |
<value>notebook_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>style</key> |
<value>wx.NB_TOP</value> |
</param> |
<param> |
<key>labels</key> |
<value>['RF signal', 'Scope', 'Demod']</value> |
</param> |
<param> |
<key>grid_pos</key> |
<value></value> |
</param> |
<param> |
<key>notebook</key> |
<value></value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(308, 14)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>wxgui_scopesink2</key> |
<param> |
<key>id</key> |
<value>wxgui_scopesink2_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>float</value> |
</param> |
<param> |
<key>title</key> |
<value>Scope Plot</value> |
</param> |
<param> |
<key>samp_rate</key> |
<value>samp_rate</value> |
</param> |
<param> |
<key>v_scale</key> |
<value>0</value> |
</param> |
<param> |
<key>v_offset</key> |
<value>0</value> |
</param> |
<param> |
<key>t_scale</key> |
<value>0</value> |
</param> |
<param> |
<key>ac_couple</key> |
<value>False</value> |
</param> |
<param> |
<key>xy_mode</key> |
<value>False</value> |
</param> |
<param> |
<key>num_inputs</key> |
<value>4</value> |
</param> |
<param> |
<key>win_size</key> |
<value></value> |
</param> |
<param> |
<key>grid_pos</key> |
<value></value> |
</param> |
<param> |
<key>notebook</key> |
<value>notebook_0, 1</value> |
</param> |
<param> |
<key>trig_mode</key> |
<value>wxgui.TRIG_MODE_AUTO</value> |
</param> |
<param> |
<key>y_axis_label</key> |
<value>Counts</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(624, 601)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>270</value> |
</param> |
</block> |
<block> |
<key>blocks_short_to_float</key> |
<param> |
<key>id</key> |
<value>blocks_short_to_float_2_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>scale</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(383, 244)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_short_to_float</key> |
<param> |
<key>id</key> |
<value>blocks_short_to_float_2</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>scale</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(380, 191)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>wxgui_scopesink2</key> |
<param> |
<key>id</key> |
<value>wxgui_scopesink2_1</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>float</value> |
</param> |
<param> |
<key>title</key> |
<value>Scope Plot</value> |
</param> |
<param> |
<key>samp_rate</key> |
<value>samp_rate/2</value> |
</param> |
<param> |
<key>v_scale</key> |
<value>0</value> |
</param> |
<param> |
<key>v_offset</key> |
<value>0</value> |
</param> |
<param> |
<key>t_scale</key> |
<value>1e-2</value> |
</param> |
<param> |
<key>ac_couple</key> |
<value>False</value> |
</param> |
<param> |
<key>xy_mode</key> |
<value>False</value> |
</param> |
<param> |
<key>num_inputs</key> |
<value>2</value> |
</param> |
<param> |
<key>win_size</key> |
<value></value> |
</param> |
<param> |
<key>grid_pos</key> |
<value></value> |
</param> |
<param> |
<key>notebook</key> |
<value>notebook_0, 1</value> |
</param> |
<param> |
<key>trig_mode</key> |
<value>wxgui.TRIG_MODE_AUTO</value> |
</param> |
<param> |
<key>y_axis_label</key> |
<value>Counts</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(694, 134)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_float_to_complex</key> |
<param> |
<key>id</key> |
<value>blocks_float_to_complex_0_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(863, 255)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>wxgui_waterfallsink2</key> |
<param> |
<key>id</key> |
<value>wxgui_waterfallsink2_0_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>complex</value> |
</param> |
<param> |
<key>title</key> |
<value>ADC1 Waterfall Plot</value> |
</param> |
<param> |
<key>samp_rate</key> |
<value>samp_rate</value> |
</param> |
<param> |
<key>baseband_freq</key> |
<value>0</value> |
</param> |
<param> |
<key>dynamic_range</key> |
<value>100</value> |
</param> |
<param> |
<key>ref_level</key> |
<value>0</value> |
</param> |
<param> |
<key>ref_scale</key> |
<value>2.0</value> |
</param> |
<param> |
<key>fft_size</key> |
<value>1024</value> |
</param> |
<param> |
<key>fft_rate</key> |
<value>15</value> |
</param> |
<param> |
<key>average</key> |
<value>False</value> |
</param> |
<param> |
<key>avg_alpha</key> |
<value>0</value> |
</param> |
<param> |
<key>win</key> |
<value>None</value> |
</param> |
<param> |
<key>win_size</key> |
<value></value> |
</param> |
<param> |
<key>grid_pos</key> |
<value></value> |
</param> |
<param> |
<key>notebook</key> |
<value>notebook_0, 0</value> |
</param> |
<param> |
<key>freqvar</key> |
<value>None</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(1161, 2)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>channels_iqbal_gen</key> |
<param> |
<key>id</key> |
<value>channels_iqbal_gen_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>mag</key> |
<value>1</value> |
</param> |
<param> |
<key>phase</key> |
<value>0</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(1053, 224)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_float_to_complex</key> |
<param> |
<key>id</key> |
<value>blocks_float_to_complex_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(854, 369)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>wxgui_waterfallsink2</key> |
<param> |
<key>id</key> |
<value>wxgui_waterfallsink2_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>complex</value> |
</param> |
<param> |
<key>title</key> |
<value>ADC2 Waterfall Plot</value> |
</param> |
<param> |
<key>samp_rate</key> |
<value>samp_rate</value> |
</param> |
<param> |
<key>baseband_freq</key> |
<value>0</value> |
</param> |
<param> |
<key>dynamic_range</key> |
<value>100</value> |
</param> |
<param> |
<key>ref_level</key> |
<value>0</value> |
</param> |
<param> |
<key>ref_scale</key> |
<value>2.0</value> |
</param> |
<param> |
<key>fft_size</key> |
<value>512</value> |
</param> |
<param> |
<key>fft_rate</key> |
<value>15</value> |
</param> |
<param> |
<key>average</key> |
<value>False</value> |
</param> |
<param> |
<key>avg_alpha</key> |
<value>0</value> |
</param> |
<param> |
<key>win</key> |
<value>window.hanning</value> |
</param> |
<param> |
<key>win_size</key> |
<value></value> |
</param> |
<param> |
<key>grid_pos</key> |
<value></value> |
</param> |
<param> |
<key>notebook</key> |
<value>notebook_0, 0</value> |
</param> |
<param> |
<key>freqvar</key> |
<value>None</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(1193, 738)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>channels_iqbal_gen</key> |
<param> |
<key>id</key> |
<value>channels_iqbal_gen_1</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>mag</key> |
<value>1</value> |
</param> |
<param> |
<key>phase</key> |
<value>0</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(1037, 429)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>wxgui_waterfallsink2</key> |
<param> |
<key>id</key> |
<value>wxgui_waterfallsink2_1_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>complex</value> |
</param> |
<param> |
<key>title</key> |
<value>IF Plot</value> |
</param> |
<param> |
<key>samp_rate</key> |
<value>out_sample_rate</value> |
</param> |
<param> |
<key>baseband_freq</key> |
<value>0</value> |
</param> |
<param> |
<key>dynamic_range</key> |
<value>100</value> |
</param> |
<param> |
<key>ref_level</key> |
<value>0</value> |
</param> |
<param> |
<key>ref_scale</key> |
<value>2.0</value> |
</param> |
<param> |
<key>fft_size</key> |
<value>512</value> |
</param> |
<param> |
<key>fft_rate</key> |
<value>15</value> |
</param> |
<param> |
<key>average</key> |
<value>False</value> |
</param> |
<param> |
<key>avg_alpha</key> |
<value>0</value> |
</param> |
<param> |
<key>win</key> |
<value>window.blackmanharris</value> |
</param> |
<param> |
<key>win_size</key> |
<value>1200, 400</value> |
</param> |
<param> |
<key>grid_pos</key> |
<value></value> |
</param> |
<param> |
<key>notebook</key> |
<value>notebook_0, 2</value> |
</param> |
<param> |
<key>freqvar</key> |
<value>None</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(1815, 856)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>wxgui_waterfallsink2</key> |
<param> |
<key>id</key> |
<value>wxgui_waterfallsink2_1</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>complex</value> |
</param> |
<param> |
<key>title</key> |
<value>IF Plot</value> |
</param> |
<param> |
<key>samp_rate</key> |
<value>out_sample_rate</value> |
</param> |
<param> |
<key>baseband_freq</key> |
<value>0</value> |
</param> |
<param> |
<key>dynamic_range</key> |
<value>100</value> |
</param> |
<param> |
<key>ref_level</key> |
<value>0</value> |
</param> |
<param> |
<key>ref_scale</key> |
<value>2.0</value> |
</param> |
<param> |
<key>fft_size</key> |
<value>512</value> |
</param> |
<param> |
<key>fft_rate</key> |
<value>15</value> |
</param> |
<param> |
<key>average</key> |
<value>False</value> |
</param> |
<param> |
<key>avg_alpha</key> |
<value>0</value> |
</param> |
<param> |
<key>win</key> |
<value>window.blackmanharris</value> |
</param> |
<param> |
<key>win_size</key> |
<value>1200,400</value> |
</param> |
<param> |
<key>grid_pos</key> |
<value></value> |
</param> |
<param> |
<key>notebook</key> |
<value>notebook_0, 2</value> |
</param> |
<param> |
<key>freqvar</key> |
<value>None</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(1804, 51)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_wavfile_sink</key> |
<param> |
<key>id</key> |
<value>blocks_wavfile_sink_1_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>False</value> |
</param> |
<param> |
<key>file</key> |
<value>outfile_ADC2</value> |
</param> |
<param> |
<key>nchan</key> |
<value>2</value> |
</param> |
<param> |
<key>samp_rate</key> |
<value>out_sample_rate</value> |
</param> |
<param> |
<key>bits_per_sample</key> |
<value>16</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(2297, 657)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>variable_slider</key> |
<param> |
<key>id</key> |
<value>variable_slider_1</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>label</key> |
<value></value> |
</param> |
<param> |
<key>value</key> |
<value>0</value> |
</param> |
<param> |
<key>min</key> |
<value>-2.5e6</value> |
</param> |
<param> |
<key>max</key> |
<value>2.5e6</value> |
</param> |
<param> |
<key>num_steps</key> |
<value>int(1e3)</value> |
</param> |
<param> |
<key>style</key> |
<value>wx.SL_HORIZONTAL</value> |
</param> |
<param> |
<key>converver</key> |
<value>float_converter</value> |
</param> |
<param> |
<key>grid_pos</key> |
<value></value> |
</param> |
<param> |
<key>notebook</key> |
<value>notebook_0, 2</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(1395, 232)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_complex_to_float</key> |
<param> |
<key>id</key> |
<value>blocks_complex_to_float_0_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>False</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(2053, 739)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_throttle</key> |
<param> |
<key>id</key> |
<value>blocks_throttle_2</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>short</value> |
</param> |
<param> |
<key>samples_per_second</key> |
<value>samp_rate/2</value> |
</param> |
<param> |
<key>vlen</key> |
<value>10</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(10, 195)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>270</value> |
</param> |
</block> |
<block> |
<key>analog_wfm_rcv</key> |
<param> |
<key>id</key> |
<value>analog_wfm_rcv_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>False</value> |
</param> |
<param> |
<key>quad_rate</key> |
<value>out_sample_rate</value> |
</param> |
<param> |
<key>audio_decimation</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(2046, 825)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>wxgui_waterfallsink2</key> |
<param> |
<key>id</key> |
<value>wxgui_waterfallsink2_2</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>False</value> |
</param> |
<param> |
<key>type</key> |
<value>complex</value> |
</param> |
<param> |
<key>title</key> |
<value>Waterfall Plot</value> |
</param> |
<param> |
<key>samp_rate</key> |
<value>out_sample_rate</value> |
</param> |
<param> |
<key>baseband_freq</key> |
<value>0</value> |
</param> |
<param> |
<key>dynamic_range</key> |
<value>100</value> |
</param> |
<param> |
<key>ref_level</key> |
<value>0</value> |
</param> |
<param> |
<key>ref_scale</key> |
<value>2.0</value> |
</param> |
<param> |
<key>fft_size</key> |
<value>512</value> |
</param> |
<param> |
<key>fft_rate</key> |
<value>15</value> |
</param> |
<param> |
<key>average</key> |
<value>False</value> |
</param> |
<param> |
<key>avg_alpha</key> |
<value>0</value> |
</param> |
<param> |
<key>win</key> |
<value>None</value> |
</param> |
<param> |
<key>win_size</key> |
<value></value> |
</param> |
<param> |
<key>grid_pos</key> |
<value></value> |
</param> |
<param> |
<key>notebook</key> |
<value>notebook_0, 2</value> |
</param> |
<param> |
<key>freqvar</key> |
<value>None</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(2104, 399)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_complex_to_float</key> |
<param> |
<key>id</key> |
<value>blocks_complex_to_float_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>False</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(1836, 329)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_wavfile_sink</key> |
<param> |
<key>id</key> |
<value>blocks_wavfile_sink_1</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>False</value> |
</param> |
<param> |
<key>file</key> |
<value>outfile_ADC1</value> |
</param> |
<param> |
<key>nchan</key> |
<value>2</value> |
</param> |
<param> |
<key>samp_rate</key> |
<value>out_sample_rate</value> |
</param> |
<param> |
<key>bits_per_sample</key> |
<value>16</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(2287, 279)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>wxgui_scopesink2</key> |
<param> |
<key>id</key> |
<value>wxgui_scopesink2_2</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>complex</value> |
</param> |
<param> |
<key>title</key> |
<value>Scope Plot</value> |
</param> |
<param> |
<key>samp_rate</key> |
<value>out_sample_rate</value> |
</param> |
<param> |
<key>v_scale</key> |
<value>0</value> |
</param> |
<param> |
<key>v_offset</key> |
<value>0</value> |
</param> |
<param> |
<key>t_scale</key> |
<value>0</value> |
</param> |
<param> |
<key>ac_couple</key> |
<value>False</value> |
</param> |
<param> |
<key>xy_mode</key> |
<value>True</value> |
</param> |
<param> |
<key>num_inputs</key> |
<value>1</value> |
</param> |
<param> |
<key>win_size</key> |
<value></value> |
</param> |
<param> |
<key>grid_pos</key> |
<value></value> |
</param> |
<param> |
<key>notebook</key> |
<value>notebook_0, 2</value> |
</param> |
<param> |
<key>trig_mode</key> |
<value>wxgui.TRIG_MODE_AUTO</value> |
</param> |
<param> |
<key>y_axis_label</key> |
<value>Counts</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(2327, 476)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_file_source</key> |
<param> |
<key>id</key> |
<value>blocks_file_source_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>file</key> |
<value>srcfile</value> |
</param> |
<param> |
<key>type</key> |
<value>short</value> |
</param> |
<param> |
<key>repeat</key> |
<value>False</value> |
</param> |
<param> |
<key>vlen</key> |
<value>10</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(151, 96)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>180</value> |
</param> |
</block> |
<block> |
<key>freq_xlating_fir_filter_xxx</key> |
<param> |
<key>id</key> |
<value>freq_xlating_fir_filter_xxx_0_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>ccc</value> |
</param> |
<param> |
<key>decim</key> |
<value>int(samp_rate/out_sample_rate)</value> |
</param> |
<param> |
<key>taps</key> |
<value>firdes.low_pass(normalize, samp_rate, cutoff, cutoff, firdes.WIN_HAMMING)</value> |
</param> |
<param> |
<key>center_freq</key> |
<value>variable_slider_1</value> |
</param> |
<param> |
<key>samp_rate</key> |
<value>samp_rate</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(1356, 419)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>freq_xlating_fir_filter_xxx</key> |
<param> |
<key>id</key> |
<value>freq_xlating_fir_filter_xxx_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>ccc</value> |
</param> |
<param> |
<key>decim</key> |
<value>int(samp_rate/out_sample_rate)</value> |
</param> |
<param> |
<key>taps</key> |
<value>firdes.low_pass(normalize, samp_rate, cutoff, cutoff, firdes.WIN_HAMMING)</value> |
</param> |
<param> |
<key>center_freq</key> |
<value>variable_slider_1</value> |
</param> |
<param> |
<key>samp_rate</key> |
<value>samp_rate</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(1361, 48)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_multiply_conjugate_cc</key> |
<param> |
<key>id</key> |
<value>blocks_multiply_conjugate_cc_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(1863, 456)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>audio_sink</key> |
<param> |
<key>id</key> |
<value>audio_sink_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>False</value> |
</param> |
<param> |
<key>samp_rate</key> |
<value>48000</value> |
</param> |
<param> |
<key>device_name</key> |
<value></value> |
</param> |
<param> |
<key>ok_to_block</key> |
<value>True</value> |
</param> |
<param> |
<key>num_inputs</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(2298, 921)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>analog_nbfm_rx</key> |
<param> |
<key>id</key> |
<value>analog_nbfm_rx_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>False</value> |
</param> |
<param> |
<key>audio_rate</key> |
<value>48000</value> |
</param> |
<param> |
<key>quad_rate</key> |
<value>out_sample_rate</value> |
</param> |
<param> |
<key>tau</key> |
<value>75e-6</value> |
</param> |
<param> |
<key>max_dev</key> |
<value>5e3</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(2048, 913)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<connection> |
<source_block_id>blocks_vector_to_streams_0</source_block_id> |
<sink_block_id>blocks_interleave_0_2</sink_block_id> |
<source_key>2</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_vector_to_streams_0</source_block_id> |
<sink_block_id>blocks_interleave_0_2</sink_block_id> |
<source_key>3</source_key> |
<sink_key>1</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_vector_to_streams_0</source_block_id> |
<sink_block_id>blocks_interleave_0_1</sink_block_id> |
<source_key>4</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_vector_to_streams_0</source_block_id> |
<sink_block_id>blocks_interleave_0_1</sink_block_id> |
<source_key>5</source_key> |
<sink_key>1</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_throttle_2</source_block_id> |
<sink_block_id>blocks_vector_to_streams_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_file_source_0</source_block_id> |
<sink_block_id>blocks_throttle_2</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_vector_to_streams_0</source_block_id> |
<sink_block_id>blocks_interleave_0_0</sink_block_id> |
<source_key>6</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_vector_to_streams_0</source_block_id> |
<sink_block_id>blocks_interleave_0_0</sink_block_id> |
<source_key>7</source_key> |
<sink_key>1</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_vector_to_streams_0</source_block_id> |
<sink_block_id>blocks_interleave_0</sink_block_id> |
<source_key>8</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_vector_to_streams_0</source_block_id> |
<sink_block_id>blocks_interleave_0</sink_block_id> |
<source_key>9</source_key> |
<sink_key>1</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_interleave_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_interleave_0_0</source_block_id> |
<sink_block_id>blocks_short_to_float_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>wxgui_scopesink2_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>3</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_short_to_float_0</source_block_id> |
<sink_block_id>wxgui_scopesink2_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>2</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_interleave_0_1</source_block_id> |
<sink_block_id>blocks_short_to_float_1_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_interleave_0_2</source_block_id> |
<sink_block_id>blocks_short_to_float_0_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_short_to_float_2_0</source_block_id> |
<sink_block_id>wxgui_scopesink2_1</sink_block_id> |
<source_key>0</source_key> |
<sink_key>1</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_short_to_float_2</source_block_id> |
<sink_block_id>wxgui_scopesink2_1</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_vector_to_streams_0</source_block_id> |
<sink_block_id>blocks_short_to_float_2_0</sink_block_id> |
<source_key>1</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_vector_to_streams_0</source_block_id> |
<sink_block_id>blocks_short_to_float_2</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_short_to_float_0_0</source_block_id> |
<sink_block_id>blocks_float_to_complex_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_0</source_block_id> |
<sink_block_id>blocks_float_to_complex_0_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>1</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_short_to_float_1</source_block_id> |
<sink_block_id>blocks_float_to_complex_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>1</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_short_to_float_0</source_block_id> |
<sink_block_id>blocks_float_to_complex_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_short_to_float_0_0</source_block_id> |
<sink_block_id>wxgui_scopesink2_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_short_to_float_1_0</source_block_id> |
<sink_block_id>wxgui_scopesink2_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>1</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_complex_to_float_0_0</source_block_id> |
<sink_block_id>blocks_wavfile_sink_1_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_complex_to_float_0_0</source_block_id> |
<sink_block_id>blocks_wavfile_sink_1_0</sink_block_id> |
<source_key>1</source_key> |
<sink_key>1</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_complex_to_float_0</source_block_id> |
<sink_block_id>blocks_wavfile_sink_1</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_complex_to_float_0</source_block_id> |
<sink_block_id>blocks_wavfile_sink_1</sink_block_id> |
<source_key>1</source_key> |
<sink_key>1</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_float_to_complex_0_0</source_block_id> |
<sink_block_id>channels_iqbal_gen_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>channels_iqbal_gen_0</source_block_id> |
<sink_block_id>wxgui_waterfallsink2_0_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>channels_iqbal_gen_0</source_block_id> |
<sink_block_id>freq_xlating_fir_filter_xxx_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_float_to_complex_0</source_block_id> |
<sink_block_id>channels_iqbal_gen_1</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>channels_iqbal_gen_1</source_block_id> |
<sink_block_id>freq_xlating_fir_filter_xxx_0_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>channels_iqbal_gen_1</source_block_id> |
<sink_block_id>wxgui_waterfallsink2_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>freq_xlating_fir_filter_xxx_0_0</source_block_id> |
<sink_block_id>blocks_complex_to_float_0_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>freq_xlating_fir_filter_xxx_0</source_block_id> |
<sink_block_id>wxgui_waterfallsink2_1</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>analog_wfm_rcv_0</source_block_id> |
<sink_block_id>audio_sink_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>freq_xlating_fir_filter_xxx_0_0</source_block_id> |
<sink_block_id>wxgui_waterfallsink2_1_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>freq_xlating_fir_filter_xxx_0</source_block_id> |
<sink_block_id>analog_wfm_rcv_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>analog_nbfm_rx_0</source_block_id> |
<sink_block_id>audio_sink_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_multiply_conjugate_cc_0</source_block_id> |
<sink_block_id>wxgui_waterfallsink2_2</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>freq_xlating_fir_filter_xxx_0_0</source_block_id> |
<sink_block_id>blocks_multiply_conjugate_cc_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>1</sink_key> |
</connection> |
<connection> |
<source_block_id>freq_xlating_fir_filter_xxx_0</source_block_id> |
<sink_block_id>analog_nbfm_rx_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_multiply_conjugate_cc_0</source_block_id> |
<sink_block_id>blocks_complex_to_float_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_multiply_conjugate_cc_0</source_block_id> |
<sink_block_id>wxgui_scopesink2_2</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>freq_xlating_fir_filter_xxx_0</source_block_id> |
<sink_block_id>blocks_multiply_conjugate_cc_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
</flow_graph> |
/Designs/HAM Constructions/SDRX02B/SW/GRC/Player_fm.grc |
---|
0,0 → 1,1789 |
<?xml version='1.0' encoding='ASCII'?> |
<flow_graph> |
<timestamp>Mon May 12 22:03:48 2014</timestamp> |
<block> |
<key>options</key> |
<param> |
<key>id</key> |
<value>Records_player</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>title</key> |
<value></value> |
</param> |
<param> |
<key>author</key> |
<value>Jakub Kakona</value> |
</param> |
<param> |
<key>description</key> |
<value></value> |
</param> |
<param> |
<key>window_size</key> |
<value>4096, 1024</value> |
</param> |
<param> |
<key>generate_options</key> |
<value>wx_gui</value> |
</param> |
<param> |
<key>category</key> |
<value>Custom</value> |
</param> |
<param> |
<key>run_options</key> |
<value>prompt</value> |
</param> |
<param> |
<key>run</key> |
<value>True</value> |
</param> |
<param> |
<key>max_nouts</key> |
<value>0</value> |
</param> |
<param> |
<key>realtime_scheduling</key> |
<value></value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(10, 10)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>variable</key> |
<param> |
<key>id</key> |
<value>samp_rate</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>value</key> |
<value>5e6</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(235, 14)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_interleave</key> |
<param> |
<key>id</key> |
<value>blocks_interleave_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>short</value> |
</param> |
<param> |
<key>num_streams</key> |
<value>2</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(334, 494)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_interleave</key> |
<param> |
<key>id</key> |
<value>blocks_interleave_0_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>short</value> |
</param> |
<param> |
<key>num_streams</key> |
<value>2</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(334, 425)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_interleave</key> |
<param> |
<key>id</key> |
<value>blocks_interleave_0_1</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>short</value> |
</param> |
<param> |
<key>num_streams</key> |
<value>2</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(334, 357)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_interleave</key> |
<param> |
<key>id</key> |
<value>blocks_interleave_0_2</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>short</value> |
</param> |
<param> |
<key>num_streams</key> |
<value>2</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(335, 291)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_short_to_float</key> |
<param> |
<key>id</key> |
<value>blocks_short_to_float_2</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>scale</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(529, 166)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_short_to_float</key> |
<param> |
<key>id</key> |
<value>blocks_short_to_float_2_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>scale</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(527, 229)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_short_to_float</key> |
<param> |
<key>id</key> |
<value>blocks_short_to_float_0_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>scale</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(506, 325)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_short_to_float</key> |
<param> |
<key>id</key> |
<value>blocks_short_to_float_1_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>scale</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(504, 378)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_short_to_float</key> |
<param> |
<key>id</key> |
<value>blocks_short_to_float_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>scale</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(501, 440)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_short_to_float</key> |
<param> |
<key>id</key> |
<value>blocks_short_to_float_1</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>scale</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(497, 493)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_vector_to_streams</key> |
<param> |
<key>id</key> |
<value>blocks_vector_to_streams_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>short</value> |
</param> |
<param> |
<key>num_streams</key> |
<value>10</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(131, 222)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_float_to_complex</key> |
<param> |
<key>id</key> |
<value>blocks_float_to_complex_0_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(863, 255)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_float_to_complex</key> |
<param> |
<key>id</key> |
<value>blocks_float_to_complex_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(835, 598)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>270</value> |
</param> |
</block> |
<block> |
<key>blocks_multiply_const_vxx</key> |
<param> |
<key>id</key> |
<value>blocks_multiply_const_vxx_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>float</value> |
</param> |
<param> |
<key>const</key> |
<value>variable_slider_0</value> |
</param> |
<param> |
<key>vlen</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(814, 929)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>low_pass_filter</key> |
<param> |
<key>id</key> |
<value>low_pass_filter_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>fir_filter_ccf</value> |
</param> |
<param> |
<key>decim</key> |
<value>int(samp_rate/500e3)</value> |
</param> |
<param> |
<key>interp</key> |
<value>1</value> |
</param> |
<param> |
<key>gain</key> |
<value>1</value> |
</param> |
<param> |
<key>samp_rate</key> |
<value>samp_rate</value> |
</param> |
<param> |
<key>cutoff_freq</key> |
<value>100e3</value> |
</param> |
<param> |
<key>width</key> |
<value>1e6</value> |
</param> |
<param> |
<key>win</key> |
<value>firdes.WIN_HAMMING</value> |
</param> |
<param> |
<key>beta</key> |
<value>6.76</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(81, 799)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>audio_sink</key> |
<param> |
<key>id</key> |
<value>audio_sink_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>samp_rate</key> |
<value>48000</value> |
</param> |
<param> |
<key>device_name</key> |
<value></value> |
</param> |
<param> |
<key>ok_to_block</key> |
<value>True</value> |
</param> |
<param> |
<key>num_inputs</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(1013, 974)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>wxgui_scopesink2</key> |
<param> |
<key>id</key> |
<value>wxgui_scopesink2_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>float</value> |
</param> |
<param> |
<key>title</key> |
<value>Scope Plot</value> |
</param> |
<param> |
<key>samp_rate</key> |
<value>samp_rate</value> |
</param> |
<param> |
<key>v_scale</key> |
<value>0</value> |
</param> |
<param> |
<key>v_offset</key> |
<value>0</value> |
</param> |
<param> |
<key>t_scale</key> |
<value>0</value> |
</param> |
<param> |
<key>ac_couple</key> |
<value>False</value> |
</param> |
<param> |
<key>xy_mode</key> |
<value>False</value> |
</param> |
<param> |
<key>num_inputs</key> |
<value>4</value> |
</param> |
<param> |
<key>win_size</key> |
<value></value> |
</param> |
<param> |
<key>grid_pos</key> |
<value></value> |
</param> |
<param> |
<key>notebook</key> |
<value>notebook_0, 1</value> |
</param> |
<param> |
<key>trig_mode</key> |
<value>wxgui.TRIG_MODE_AUTO</value> |
</param> |
<param> |
<key>y_axis_label</key> |
<value>Counts</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(653, 609)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>270</value> |
</param> |
</block> |
<block> |
<key>wxgui_waterfallsink2</key> |
<param> |
<key>id</key> |
<value>wxgui_waterfallsink2_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>complex</value> |
</param> |
<param> |
<key>title</key> |
<value>ADC2 Waterfall Plot</value> |
</param> |
<param> |
<key>samp_rate</key> |
<value>samp_rate</value> |
</param> |
<param> |
<key>baseband_freq</key> |
<value>0</value> |
</param> |
<param> |
<key>dynamic_range</key> |
<value>100</value> |
</param> |
<param> |
<key>ref_level</key> |
<value>0</value> |
</param> |
<param> |
<key>ref_scale</key> |
<value>2.0</value> |
</param> |
<param> |
<key>fft_size</key> |
<value>512</value> |
</param> |
<param> |
<key>fft_rate</key> |
<value>15</value> |
</param> |
<param> |
<key>average</key> |
<value>False</value> |
</param> |
<param> |
<key>avg_alpha</key> |
<value>0</value> |
</param> |
<param> |
<key>win</key> |
<value>window.hanning</value> |
</param> |
<param> |
<key>win_size</key> |
<value></value> |
</param> |
<param> |
<key>grid_pos</key> |
<value></value> |
</param> |
<param> |
<key>notebook</key> |
<value>notebook_0, 0</value> |
</param> |
<param> |
<key>freqvar</key> |
<value>None</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(1079, 539)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>wxgui_scopesink2</key> |
<param> |
<key>id</key> |
<value>wxgui_scopesink2_1</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>float</value> |
</param> |
<param> |
<key>title</key> |
<value>Scope Plot</value> |
</param> |
<param> |
<key>samp_rate</key> |
<value>samp_rate/2</value> |
</param> |
<param> |
<key>v_scale</key> |
<value>0</value> |
</param> |
<param> |
<key>v_offset</key> |
<value>0</value> |
</param> |
<param> |
<key>t_scale</key> |
<value>1e-2</value> |
</param> |
<param> |
<key>ac_couple</key> |
<value>False</value> |
</param> |
<param> |
<key>xy_mode</key> |
<value>False</value> |
</param> |
<param> |
<key>num_inputs</key> |
<value>2</value> |
</param> |
<param> |
<key>win_size</key> |
<value></value> |
</param> |
<param> |
<key>grid_pos</key> |
<value></value> |
</param> |
<param> |
<key>notebook</key> |
<value>notebook_0, 1</value> |
</param> |
<param> |
<key>trig_mode</key> |
<value>wxgui.TRIG_MODE_AUTO</value> |
</param> |
<param> |
<key>y_axis_label</key> |
<value>Counts</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(893, 84)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>notebook</key> |
<param> |
<key>id</key> |
<value>notebook_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>style</key> |
<value>wx.NB_TOP</value> |
</param> |
<param> |
<key>labels</key> |
<value>['RF signal', 'Scope', 'Demod']</value> |
</param> |
<param> |
<key>grid_pos</key> |
<value></value> |
</param> |
<param> |
<key>notebook</key> |
<value></value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(245, 934)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>variable_slider</key> |
<param> |
<key>id</key> |
<value>variable_slider_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>label</key> |
<value></value> |
</param> |
<param> |
<key>value</key> |
<value>1</value> |
</param> |
<param> |
<key>min</key> |
<value>0</value> |
</param> |
<param> |
<key>max</key> |
<value>10</value> |
</param> |
<param> |
<key>num_steps</key> |
<value>100</value> |
</param> |
<param> |
<key>style</key> |
<value>wx.SL_HORIZONTAL</value> |
</param> |
<param> |
<key>converver</key> |
<value>float_converter</value> |
</param> |
<param> |
<key>grid_pos</key> |
<value></value> |
</param> |
<param> |
<key>notebook</key> |
<value>notebook_0, 2</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(78, 634)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>wxgui_waterfallsink2</key> |
<param> |
<key>id</key> |
<value>wxgui_waterfallsink2_1</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>complex</value> |
</param> |
<param> |
<key>title</key> |
<value>IF Plot</value> |
</param> |
<param> |
<key>samp_rate</key> |
<value>500e3</value> |
</param> |
<param> |
<key>baseband_freq</key> |
<value>0</value> |
</param> |
<param> |
<key>dynamic_range</key> |
<value>100</value> |
</param> |
<param> |
<key>ref_level</key> |
<value>0</value> |
</param> |
<param> |
<key>ref_scale</key> |
<value>2.0</value> |
</param> |
<param> |
<key>fft_size</key> |
<value>512</value> |
</param> |
<param> |
<key>fft_rate</key> |
<value>15</value> |
</param> |
<param> |
<key>average</key> |
<value>False</value> |
</param> |
<param> |
<key>avg_alpha</key> |
<value>0</value> |
</param> |
<param> |
<key>win</key> |
<value>window.blackmanharris</value> |
</param> |
<param> |
<key>win_size</key> |
<value></value> |
</param> |
<param> |
<key>grid_pos</key> |
<value></value> |
</param> |
<param> |
<key>notebook</key> |
<value>notebook_0, 2</value> |
</param> |
<param> |
<key>freqvar</key> |
<value>None</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(339, 647)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>wxgui_waterfallsink2</key> |
<param> |
<key>id</key> |
<value>wxgui_waterfallsink2_2</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>float</value> |
</param> |
<param> |
<key>title</key> |
<value>Demodulated Audio</value> |
</param> |
<param> |
<key>samp_rate</key> |
<value>48e3</value> |
</param> |
<param> |
<key>baseband_freq</key> |
<value>0</value> |
</param> |
<param> |
<key>dynamic_range</key> |
<value>100</value> |
</param> |
<param> |
<key>ref_level</key> |
<value>0</value> |
</param> |
<param> |
<key>ref_scale</key> |
<value>2.0</value> |
</param> |
<param> |
<key>fft_size</key> |
<value>512</value> |
</param> |
<param> |
<key>fft_rate</key> |
<value>15</value> |
</param> |
<param> |
<key>average</key> |
<value>False</value> |
</param> |
<param> |
<key>avg_alpha</key> |
<value>0</value> |
</param> |
<param> |
<key>win</key> |
<value>window.hamming</value> |
</param> |
<param> |
<key>win_size</key> |
<value></value> |
</param> |
<param> |
<key>grid_pos</key> |
<value></value> |
</param> |
<param> |
<key>notebook</key> |
<value>notebook_0, 2</value> |
</param> |
<param> |
<key>freqvar</key> |
<value>None</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(971, 758)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>wxgui_waterfallsink2</key> |
<param> |
<key>id</key> |
<value>wxgui_waterfallsink2_0_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>complex</value> |
</param> |
<param> |
<key>title</key> |
<value>ADC1 Waterfall Plot</value> |
</param> |
<param> |
<key>samp_rate</key> |
<value>samp_rate</value> |
</param> |
<param> |
<key>baseband_freq</key> |
<value>0</value> |
</param> |
<param> |
<key>dynamic_range</key> |
<value>100</value> |
</param> |
<param> |
<key>ref_level</key> |
<value>0</value> |
</param> |
<param> |
<key>ref_scale</key> |
<value>2.0</value> |
</param> |
<param> |
<key>fft_size</key> |
<value>4096</value> |
</param> |
<param> |
<key>fft_rate</key> |
<value>15</value> |
</param> |
<param> |
<key>average</key> |
<value>False</value> |
</param> |
<param> |
<key>avg_alpha</key> |
<value>0</value> |
</param> |
<param> |
<key>win</key> |
<value>None</value> |
</param> |
<param> |
<key>win_size</key> |
<value>4096, 500</value> |
</param> |
<param> |
<key>grid_pos</key> |
<value></value> |
</param> |
<param> |
<key>notebook</key> |
<value>notebook_0, 0</value> |
</param> |
<param> |
<key>freqvar</key> |
<value>None</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(1062, 148)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>analog_wfm_rcv</key> |
<param> |
<key>id</key> |
<value>analog_wfm_rcv_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>quad_rate</key> |
<value>500e3</value> |
</param> |
<param> |
<key>audio_decimation</key> |
<value>1</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(501, 860)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>rational_resampler_xxx</key> |
<param> |
<key>id</key> |
<value>rational_resampler_xxx_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>fff</value> |
</param> |
<param> |
<key>interp</key> |
<value>48</value> |
</param> |
<param> |
<key>decim</key> |
<value>500</value> |
</param> |
<param> |
<key>taps</key> |
<value></value> |
</param> |
<param> |
<key>fbw</key> |
<value>0</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(509, 953)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<block> |
<key>blocks_throttle</key> |
<param> |
<key>id</key> |
<value>blocks_throttle_2</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>type</key> |
<value>short</value> |
</param> |
<param> |
<key>samples_per_second</key> |
<value>samp_rate/2</value> |
</param> |
<param> |
<key>vlen</key> |
<value>10</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(41, 214)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>270</value> |
</param> |
</block> |
<block> |
<key>blocks_file_source</key> |
<param> |
<key>id</key> |
<value>blocks_file_source_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>file</key> |
<value>/home/localuser/gnuradio/2014.05.02.15.40.33.dat</value> |
</param> |
<param> |
<key>type</key> |
<value>short</value> |
</param> |
<param> |
<key>repeat</key> |
<value>True</value> |
</param> |
<param> |
<key>vlen</key> |
<value>10</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>minoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>maxoutbuf</key> |
<value>0</value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(150, 96)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>180</value> |
</param> |
</block> |
<block> |
<key>blocks_file_sink</key> |
<param> |
<key>id</key> |
<value>blocks_file_sink_0</value> |
</param> |
<param> |
<key>_enabled</key> |
<value>True</value> |
</param> |
<param> |
<key>file</key> |
<value>/home/localuser/data_example_2014.05.02.15.40.33.dat</value> |
</param> |
<param> |
<key>type</key> |
<value>short</value> |
</param> |
<param> |
<key>vlen</key> |
<value>10</value> |
</param> |
<param> |
<key>unbuffered</key> |
<value>False</value> |
</param> |
<param> |
<key>append</key> |
<value>False</value> |
</param> |
<param> |
<key>affinity</key> |
<value></value> |
</param> |
<param> |
<key>_coordinate</key> |
<value>(88, 540)</value> |
</param> |
<param> |
<key>_rotation</key> |
<value>0</value> |
</param> |
</block> |
<connection> |
<source_block_id>blocks_vector_to_streams_0</source_block_id> |
<sink_block_id>blocks_interleave_0_2</sink_block_id> |
<source_key>2</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_vector_to_streams_0</source_block_id> |
<sink_block_id>blocks_interleave_0_2</sink_block_id> |
<source_key>3</source_key> |
<sink_key>1</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_vector_to_streams_0</source_block_id> |
<sink_block_id>blocks_interleave_0_1</sink_block_id> |
<source_key>4</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_vector_to_streams_0</source_block_id> |
<sink_block_id>blocks_interleave_0_1</sink_block_id> |
<source_key>5</source_key> |
<sink_key>1</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_vector_to_streams_0</source_block_id> |
<sink_block_id>blocks_interleave_0_0</sink_block_id> |
<source_key>6</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_vector_to_streams_0</source_block_id> |
<sink_block_id>blocks_interleave_0_0</sink_block_id> |
<source_key>7</source_key> |
<sink_key>1</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_vector_to_streams_0</source_block_id> |
<sink_block_id>blocks_interleave_0</sink_block_id> |
<source_key>8</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_vector_to_streams_0</source_block_id> |
<sink_block_id>blocks_interleave_0</sink_block_id> |
<source_key>9</source_key> |
<sink_key>1</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_short_to_float_1</source_block_id> |
<sink_block_id>blocks_float_to_complex_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>1</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_short_to_float_0</source_block_id> |
<sink_block_id>blocks_float_to_complex_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_short_to_float_0_0</source_block_id> |
<sink_block_id>blocks_float_to_complex_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_0</source_block_id> |
<sink_block_id>blocks_float_to_complex_0_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>1</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_vector_to_streams_0</source_block_id> |
<sink_block_id>blocks_short_to_float_2</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_vector_to_streams_0</source_block_id> |
<sink_block_id>blocks_short_to_float_2_0</sink_block_id> |
<source_key>1</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_short_to_float_2</source_block_id> |
<sink_block_id>wxgui_scopesink2_1</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_short_to_float_2_0</source_block_id> |
<sink_block_id>wxgui_scopesink2_1</sink_block_id> |
<source_key>0</source_key> |
<sink_key>1</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_short_to_float_0_0</source_block_id> |
<sink_block_id>wxgui_scopesink2_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_short_to_float_1_0</source_block_id> |
<sink_block_id>wxgui_scopesink2_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>1</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_short_to_float_0</source_block_id> |
<sink_block_id>wxgui_scopesink2_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>2</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_short_to_float_1</source_block_id> |
<sink_block_id>wxgui_scopesink2_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>3</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_interleave_0_2</source_block_id> |
<sink_block_id>blocks_short_to_float_0_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_interleave_0_1</source_block_id> |
<sink_block_id>blocks_short_to_float_1_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_interleave_0_0</source_block_id> |
<sink_block_id>blocks_short_to_float_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_interleave_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_throttle_2</source_block_id> |
<sink_block_id>blocks_vector_to_streams_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_file_source_0</source_block_id> |
<sink_block_id>blocks_throttle_2</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>wxgui_waterfallsink2_0_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>blocks_float_to_complex_0</source_block_id> |
<sink_block_id>wxgui_waterfallsink2_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>low_pass_filter_0</source_block_id> |
<sink_block_id>analog_wfm_rcv_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>blocks_multiply_const_vxx_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>audio_sink_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>low_pass_filter_0</source_block_id> |
<sink_block_id>wxgui_waterfallsink2_1</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>wxgui_waterfallsink2_2</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
<connection> |
<source_block_id>analog_wfm_rcv_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_throttle_2</source_block_id> |
<sink_block_id>blocks_file_sink_0</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>low_pass_filter_0</sink_block_id> |
<source_key>0</source_key> |
<sink_key>0</sink_key> |
</connection> |
</flow_graph> |
/Designs/HAM Constructions/SDRX02B/SW/GRC/Records_player.py |
---|
0,0 → 1,335 |
#!/usr/bin/env python |
################################################## |
# Gnuradio Python Flow Graph |
# Title: Records Player |
# Author: Jakub Kakona |
# Generated: Fri May 30 01:39:46 2014 |
################################################## |
from gnuradio import blocks |
from gnuradio import eng_notation |
from gnuradio import filter |
from gnuradio import gr |
from gnuradio import wxgui |
from gnuradio.eng_option import eng_option |
from gnuradio.fft import window |
from gnuradio.filter import firdes |
from gnuradio.wxgui import scopesink2 |
from gnuradio.wxgui import waterfallsink2 |
from grc_gnuradio import wxgui as grc_wxgui |
from optparse import OptionParser |
import wx |
class Records_player(grc_wxgui.top_block_gui): |
def __init__(self): |
grc_wxgui.top_block_gui.__init__(self, title="Records Player") |
_icon_path = "/usr/local/share/icons/hicolor/32x32/apps/gnuradio-grc.png" |
self.SetIcon(wx.Icon(_icon_path, wx.BITMAP_TYPE_ANY)) |
################################################## |
# Variables |
################################################## |
self.prefix = prefix = "/media/kaklik/Radio_zaloha/2014-05-02/" |
self.out_dir = out_dir = "/home/kaklik/git/pysdr/" |
self.filename = filename = "2014.05.02.14.58.50.dat" |
self.srcfile = srcfile = prefix+filename |
self.samp_rate = samp_rate = 5e6 |
self.outfile_ADC2 = outfile_ADC2 = out_dir+filename+"ADC2.wav" |
self.outfile_ADC1 = outfile_ADC1 = out_dir+filename+"ADC1.wav" |
self.out_sample_rate = out_sample_rate = int(2e3) |
self.normalize = normalize = 1/200.0 |
self.cutoff = cutoff = 1000 |
self.LO = LO = 286078822.488 |
################################################## |
# Blocks |
################################################## |
self.notebook_0 = self.notebook_0 = wx.Notebook(self.GetWin(), style=wx.NB_TOP) |
self.notebook_0.AddPage(grc_wxgui.Panel(self.notebook_0), "RF signal") |
self.notebook_0.AddPage(grc_wxgui.Panel(self.notebook_0), "Scope") |
self.notebook_0.AddPage(grc_wxgui.Panel(self.notebook_0), "Demod") |
self.Add(self.notebook_0) |
self.wxgui_waterfallsink2_1_0 = waterfallsink2.waterfall_sink_c( |
self.notebook_0.GetPage(2).GetWin(), |
baseband_freq=0, |
dynamic_range=100, |
ref_level=0, |
ref_scale=2.0, |
sample_rate=out_sample_rate, |
fft_size=512, |
fft_rate=15, |
average=False, |
avg_alpha=None, |
title="IF Plot", |
win=window.blackmanharris, |
size=(1200, 400), |
) |
self.notebook_0.GetPage(2).Add(self.wxgui_waterfallsink2_1_0.win) |
self.wxgui_waterfallsink2_1 = waterfallsink2.waterfall_sink_c( |
self.notebook_0.GetPage(2).GetWin(), |
baseband_freq=0, |
dynamic_range=100, |
ref_level=0, |
ref_scale=2.0, |
sample_rate=out_sample_rate, |
fft_size=512, |
fft_rate=15, |
average=False, |
avg_alpha=None, |
title="IF Plot", |
win=window.blackmanharris, |
size=(1200,400), |
) |
self.notebook_0.GetPage(2).Add(self.wxgui_waterfallsink2_1.win) |
self.wxgui_waterfallsink2_0_0 = waterfallsink2.waterfall_sink_c( |
self.notebook_0.GetPage(0).GetWin(), |
baseband_freq=0, |
dynamic_range=100, |
ref_level=0, |
ref_scale=2.0, |
sample_rate=samp_rate, |
fft_size=1024, |
fft_rate=15, |
average=False, |
avg_alpha=None, |
title="ADC1 Waterfall Plot", |
) |
self.notebook_0.GetPage(0).Add(self.wxgui_waterfallsink2_0_0.win) |
self.wxgui_waterfallsink2_0 = waterfallsink2.waterfall_sink_c( |
self.notebook_0.GetPage(0).GetWin(), |
baseband_freq=0, |
dynamic_range=100, |
ref_level=0, |
ref_scale=2.0, |
sample_rate=samp_rate, |
fft_size=512, |
fft_rate=15, |
average=False, |
avg_alpha=None, |
title="ADC2 Waterfall Plot", |
win=window.hanning, |
) |
self.notebook_0.GetPage(0).Add(self.wxgui_waterfallsink2_0.win) |
self.wxgui_scopesink2_2 = scopesink2.scope_sink_c( |
self.GetWin(), |
title="Scope Plot", |
sample_rate=out_sample_rate, |
v_scale=0, |
v_offset=0, |
t_scale=0, |
ac_couple=False, |
xy_mode=True, |
num_inputs=1, |
trig_mode=wxgui.TRIG_MODE_AUTO, |
y_axis_label="Counts", |
) |
self.Add(self.wxgui_scopesink2_2.win) |
self.wxgui_scopesink2_1 = scopesink2.scope_sink_f( |
self.notebook_0.GetPage(1).GetWin(), |
title="Scope Plot", |
sample_rate=samp_rate/2, |
v_scale=0, |
v_offset=0, |
t_scale=1e-2, |
ac_couple=False, |
xy_mode=False, |
num_inputs=2, |
trig_mode=wxgui.TRIG_MODE_AUTO, |
y_axis_label="Counts", |
) |
self.notebook_0.GetPage(1).Add(self.wxgui_scopesink2_1.win) |
self.wxgui_scopesink2_0 = scopesink2.scope_sink_f( |
self.notebook_0.GetPage(1).GetWin(), |
title="Scope Plot", |
sample_rate=samp_rate, |
v_scale=0, |
v_offset=0, |
t_scale=0, |
ac_couple=False, |
xy_mode=False, |
num_inputs=4, |
trig_mode=wxgui.TRIG_MODE_AUTO, |
y_axis_label="Counts", |
) |
self.notebook_0.GetPage(1).Add(self.wxgui_scopesink2_0.win) |
self.low_pass_filter_0_0 = filter.fir_filter_ccf(int(samp_rate/out_sample_rate), firdes.low_pass( |
normalize, samp_rate, cutoff, 1e3, firdes.WIN_HAMMING, 6.76)) |
self.low_pass_filter_0 = filter.fir_filter_ccf(int(samp_rate/out_sample_rate), firdes.low_pass( |
normalize, samp_rate, cutoff, 1e3, firdes.WIN_HAMMING, 6.76)) |
self.freq_xlating_fir_filter_xxx_0_0 = filter.freq_xlating_fir_filter_ccc(1, ([1]), 143050000-LO/2, samp_rate) |
self.freq_xlating_fir_filter_xxx_0 = filter.freq_xlating_fir_filter_ccc(1, ([1]), 143050000-LO/2, samp_rate) |
self.blocks_wavfile_sink_1_0 = blocks.wavfile_sink(outfile_ADC2, 2, out_sample_rate, 16) |
self.blocks_wavfile_sink_1 = blocks.wavfile_sink(outfile_ADC1, 2, out_sample_rate, 16) |
self.blocks_vector_to_streams_0 = blocks.vector_to_streams(gr.sizeof_short*1, 10) |
self.blocks_short_to_float_2_0 = blocks.short_to_float(1, 1) |
self.blocks_short_to_float_2 = blocks.short_to_float(1, 1) |
self.blocks_short_to_float_1_0 = blocks.short_to_float(1, 1) |
self.blocks_short_to_float_1 = blocks.short_to_float(1, 1) |
self.blocks_short_to_float_0_0 = blocks.short_to_float(1, 1) |
self.blocks_short_to_float_0 = blocks.short_to_float(1, 1) |
self.blocks_multiply_conjugate_cc_0 = blocks.multiply_conjugate_cc(1) |
self.blocks_interleave_0_2 = blocks.interleave(gr.sizeof_short*1) |
self.blocks_interleave_0_1 = blocks.interleave(gr.sizeof_short*1) |
self.blocks_interleave_0_0 = blocks.interleave(gr.sizeof_short*1) |
self.blocks_interleave_0 = blocks.interleave(gr.sizeof_short*1) |
self.blocks_float_to_complex_0_0 = blocks.float_to_complex(1) |
self.blocks_float_to_complex_0 = blocks.float_to_complex(1) |
self.blocks_file_source_0 = blocks.file_source(gr.sizeof_short*10, srcfile, False) |
self.blocks_complex_to_float_0_0 = blocks.complex_to_float(1) |
self.blocks_complex_to_float_0 = blocks.complex_to_float(1) |
################################################## |
# Connections |
################################################## |
self.connect((self.blocks_vector_to_streams_0, 2), (self.blocks_interleave_0_2, 0)) |
self.connect((self.blocks_vector_to_streams_0, 3), (self.blocks_interleave_0_2, 1)) |
self.connect((self.blocks_vector_to_streams_0, 4), (self.blocks_interleave_0_1, 0)) |
self.connect((self.blocks_vector_to_streams_0, 5), (self.blocks_interleave_0_1, 1)) |
self.connect((self.blocks_vector_to_streams_0, 6), (self.blocks_interleave_0_0, 0)) |
self.connect((self.blocks_vector_to_streams_0, 7), (self.blocks_interleave_0_0, 1)) |
self.connect((self.blocks_vector_to_streams_0, 8), (self.blocks_interleave_0, 0)) |
self.connect((self.blocks_vector_to_streams_0, 9), (self.blocks_interleave_0, 1)) |
self.connect((self.blocks_file_source_0, 0), (self.blocks_vector_to_streams_0, 0)) |
self.connect((self.blocks_interleave_0, 0), (self.blocks_short_to_float_1, 0)) |
self.connect((self.blocks_interleave_0_0, 0), (self.blocks_short_to_float_0, 0)) |
self.connect((self.blocks_short_to_float_1, 0), (self.wxgui_scopesink2_0, 3)) |
self.connect((self.blocks_short_to_float_0, 0), (self.wxgui_scopesink2_0, 2)) |
self.connect((self.blocks_interleave_0_1, 0), (self.blocks_short_to_float_1_0, 0)) |
self.connect((self.blocks_interleave_0_2, 0), (self.blocks_short_to_float_0_0, 0)) |
self.connect((self.low_pass_filter_0, 0), (self.blocks_complex_to_float_0, 0)) |
self.connect((self.freq_xlating_fir_filter_xxx_0, 0), (self.low_pass_filter_0, 0)) |
self.connect((self.low_pass_filter_0, 0), (self.wxgui_waterfallsink2_1, 0)) |
self.connect((self.low_pass_filter_0_0, 0), (self.blocks_complex_to_float_0_0, 0)) |
self.connect((self.freq_xlating_fir_filter_xxx_0_0, 0), (self.low_pass_filter_0_0, 0)) |
self.connect((self.low_pass_filter_0_0, 0), (self.wxgui_waterfallsink2_1_0, 0)) |
self.connect((self.blocks_short_to_float_2_0, 0), (self.wxgui_scopesink2_1, 1)) |
self.connect((self.blocks_short_to_float_2, 0), (self.wxgui_scopesink2_1, 0)) |
self.connect((self.blocks_vector_to_streams_0, 1), (self.blocks_short_to_float_2_0, 0)) |
self.connect((self.blocks_vector_to_streams_0, 0), (self.blocks_short_to_float_2, 0)) |
self.connect((self.blocks_float_to_complex_0, 0), (self.freq_xlating_fir_filter_xxx_0_0, 0)) |
self.connect((self.blocks_float_to_complex_0_0, 0), (self.freq_xlating_fir_filter_xxx_0, 0)) |
self.connect((self.blocks_short_to_float_0_0, 0), (self.blocks_float_to_complex_0_0, 0)) |
self.connect((self.blocks_short_to_float_1_0, 0), (self.blocks_float_to_complex_0_0, 1)) |
self.connect((self.blocks_short_to_float_1, 0), (self.blocks_float_to_complex_0, 1)) |
self.connect((self.blocks_short_to_float_0, 0), (self.blocks_float_to_complex_0, 0)) |
self.connect((self.blocks_short_to_float_0_0, 0), (self.wxgui_scopesink2_0, 0)) |
self.connect((self.blocks_short_to_float_1_0, 0), (self.wxgui_scopesink2_0, 1)) |
self.connect((self.blocks_float_to_complex_0, 0), (self.wxgui_waterfallsink2_0, 0)) |
self.connect((self.blocks_float_to_complex_0_0, 0), (self.wxgui_waterfallsink2_0_0, 0)) |
self.connect((self.blocks_complex_to_float_0_0, 0), (self.blocks_wavfile_sink_1_0, 0)) |
self.connect((self.blocks_complex_to_float_0_0, 1), (self.blocks_wavfile_sink_1_0, 1)) |
self.connect((self.blocks_complex_to_float_0, 0), (self.blocks_wavfile_sink_1, 0)) |
self.connect((self.blocks_complex_to_float_0, 1), (self.blocks_wavfile_sink_1, 1)) |
self.connect((self.low_pass_filter_0, 0), (self.blocks_multiply_conjugate_cc_0, 0)) |
self.connect((self.low_pass_filter_0_0, 0), (self.blocks_multiply_conjugate_cc_0, 1)) |
self.connect((self.blocks_multiply_conjugate_cc_0, 0), (self.wxgui_scopesink2_2, 0)) |
# QT sink close method reimplementation |
def get_prefix(self): |
return self.prefix |
def set_prefix(self, prefix): |
self.prefix = prefix |
self.set_srcfile(self.prefix+self.filename) |
def get_out_dir(self): |
return self.out_dir |
def set_out_dir(self, out_dir): |
self.out_dir = out_dir |
self.set_outfile_ADC2(self.out_dir+self.filename+"ADC2.wav") |
self.set_outfile_ADC1(self.out_dir+self.filename+"ADC1.wav") |
def get_filename(self): |
return self.filename |
def set_filename(self, filename): |
self.filename = filename |
self.set_outfile_ADC2(self.out_dir+self.filename+"ADC2.wav") |
self.set_outfile_ADC1(self.out_dir+self.filename+"ADC1.wav") |
self.set_srcfile(self.prefix+self.filename) |
def get_srcfile(self): |
return self.srcfile |
def set_srcfile(self, srcfile): |
self.srcfile = srcfile |
self.blocks_file_source_0.open(self.srcfile, False) |
def get_samp_rate(self): |
return self.samp_rate |
def set_samp_rate(self, samp_rate): |
self.samp_rate = samp_rate |
self.wxgui_scopesink2_0.set_sample_rate(self.samp_rate) |
self.wxgui_scopesink2_1.set_sample_rate(self.samp_rate/2) |
self.wxgui_waterfallsink2_0_0.set_sample_rate(self.samp_rate) |
self.wxgui_waterfallsink2_0.set_sample_rate(self.samp_rate) |
self.low_pass_filter_0.set_taps(firdes.low_pass(self.normalize, self.samp_rate, self.cutoff, 1e3, firdes.WIN_HAMMING, 6.76)) |
self.low_pass_filter_0_0.set_taps(firdes.low_pass(self.normalize, self.samp_rate, self.cutoff, 1e3, firdes.WIN_HAMMING, 6.76)) |
def get_outfile_ADC2(self): |
return self.outfile_ADC2 |
def set_outfile_ADC2(self, outfile_ADC2): |
self.outfile_ADC2 = outfile_ADC2 |
self.blocks_wavfile_sink_1_0.open(self.outfile_ADC2) |
def get_outfile_ADC1(self): |
return self.outfile_ADC1 |
def set_outfile_ADC1(self, outfile_ADC1): |
self.outfile_ADC1 = outfile_ADC1 |
self.blocks_wavfile_sink_1.open(self.outfile_ADC1) |
def get_out_sample_rate(self): |
return self.out_sample_rate |
def set_out_sample_rate(self, out_sample_rate): |
self.out_sample_rate = out_sample_rate |
self.wxgui_waterfallsink2_1_0.set_sample_rate(self.out_sample_rate) |
self.wxgui_waterfallsink2_1.set_sample_rate(self.out_sample_rate) |
self.wxgui_scopesink2_2.set_sample_rate(self.out_sample_rate) |
def get_normalize(self): |
return self.normalize |
def set_normalize(self, normalize): |
self.normalize = normalize |
self.low_pass_filter_0.set_taps(firdes.low_pass(self.normalize, self.samp_rate, self.cutoff, 1e3, firdes.WIN_HAMMING, 6.76)) |
self.low_pass_filter_0_0.set_taps(firdes.low_pass(self.normalize, self.samp_rate, self.cutoff, 1e3, firdes.WIN_HAMMING, 6.76)) |
def get_cutoff(self): |
return self.cutoff |
def set_cutoff(self, cutoff): |
self.cutoff = cutoff |
self.low_pass_filter_0.set_taps(firdes.low_pass(self.normalize, self.samp_rate, self.cutoff, 1e3, firdes.WIN_HAMMING, 6.76)) |
self.low_pass_filter_0_0.set_taps(firdes.low_pass(self.normalize, self.samp_rate, self.cutoff, 1e3, firdes.WIN_HAMMING, 6.76)) |
def get_LO(self): |
return self.LO |
def set_LO(self, LO): |
self.LO = LO |
self.freq_xlating_fir_filter_xxx_0.set_center_freq(143050000-self.LO/2) |
self.freq_xlating_fir_filter_xxx_0_0.set_center_freq(143050000-self.LO/2) |
if __name__ == '__main__': |
import ctypes |
import os |
if os.name == 'posix': |
try: |
x11 = ctypes.cdll.LoadLibrary('libX11.so') |
x11.XInitThreads() |
except: |
print "Warning: failed to XInitThreads()" |
parser = OptionParser(option_class=eng_option, usage="%prog: [options]") |
(options, args) = parser.parse_args() |
tb = Records_player() |
tb.Start(True) |
tb.Wait() |
Property changes: |
Added: svn:executable |
+* |
\ No newline at end of property |
/Designs/HAM Constructions/SDRX02B/SW/GRC/top_block.py |
---|
0,0 → 1,265 |
#!/usr/bin/env python |
################################################## |
# Gnuradio Python Flow Graph |
# Title: Top Block |
# Author: Jakub Kakona |
# Generated: Sat May 3 15:10:31 2014 |
################################################## |
from gnuradio import analog |
from gnuradio import audio |
from gnuradio import blocks |
from gnuradio import eng_notation |
from gnuradio import filter |
from gnuradio import gr |
from gnuradio import wxgui |
from gnuradio.eng_option import eng_option |
from gnuradio.fft import window |
from gnuradio.filter import firdes |
from gnuradio.wxgui import forms |
from gnuradio.wxgui import scopesink2 |
from gnuradio.wxgui import waterfallsink2 |
from grc_gnuradio import wxgui as grc_wxgui |
from optparse import OptionParser |
import wx |
class top_block(grc_wxgui.top_block_gui): |
def __init__(self): |
grc_wxgui.top_block_gui.__init__(self, title="Top Block") |
_icon_path = "/usr/local/share/icons/hicolor/32x32/apps/gnuradio-grc.png" |
self.SetIcon(wx.Icon(_icon_path, wx.BITMAP_TYPE_ANY)) |
################################################## |
# Variables |
################################################## |
self.variable_slider_0 = variable_slider_0 = 1 |
self.samp_rate = samp_rate = 5e6 |
################################################## |
# Blocks |
################################################## |
self.notebook_0 = self.notebook_0 = wx.Notebook(self.GetWin(), style=wx.NB_TOP) |
self.notebook_0.AddPage(grc_wxgui.Panel(self.notebook_0), "RF signal") |
self.notebook_0.AddPage(grc_wxgui.Panel(self.notebook_0), "Scope") |
self.notebook_0.AddPage(grc_wxgui.Panel(self.notebook_0), "Demod") |
self.Add(self.notebook_0) |
_variable_slider_0_sizer = wx.BoxSizer(wx.VERTICAL) |
self._variable_slider_0_text_box = forms.text_box( |
parent=self.notebook_0.GetPage(2).GetWin(), |
sizer=_variable_slider_0_sizer, |
value=self.variable_slider_0, |
callback=self.set_variable_slider_0, |
label='variable_slider_0', |
converter=forms.float_converter(), |
proportion=0, |
) |
self._variable_slider_0_slider = forms.slider( |
parent=self.notebook_0.GetPage(2).GetWin(), |
sizer=_variable_slider_0_sizer, |
value=self.variable_slider_0, |
callback=self.set_variable_slider_0, |
minimum=0, |
maximum=10, |
num_steps=100, |
style=wx.SL_HORIZONTAL, |
cast=float, |
proportion=1, |
) |
self.notebook_0.GetPage(2).Add(_variable_slider_0_sizer) |
self.wxgui_waterfallsink2_2 = waterfallsink2.waterfall_sink_f( |
self.notebook_0.GetPage(2).GetWin(), |
baseband_freq=0, |
dynamic_range=100, |
ref_level=0, |
ref_scale=2.0, |
sample_rate=48e3, |
fft_size=512, |
fft_rate=15, |
average=False, |
avg_alpha=None, |
title="Demodulated Audio", |
win=window.hamming, |
) |
self.notebook_0.GetPage(2).Add(self.wxgui_waterfallsink2_2.win) |
self.wxgui_waterfallsink2_1 = waterfallsink2.waterfall_sink_c( |
self.notebook_0.GetPage(2).GetWin(), |
baseband_freq=0, |
dynamic_range=100, |
ref_level=0, |
ref_scale=2.0, |
sample_rate=500e3, |
fft_size=512, |
fft_rate=15, |
average=False, |
avg_alpha=None, |
title="IF Plot", |
win=window.blackmanharris, |
) |
self.notebook_0.GetPage(2).Add(self.wxgui_waterfallsink2_1.win) |
self.wxgui_waterfallsink2_0_0 = waterfallsink2.waterfall_sink_c( |
self.notebook_0.GetPage(0).GetWin(), |
baseband_freq=0, |
dynamic_range=100, |
ref_level=0, |
ref_scale=2.0, |
sample_rate=samp_rate, |
fft_size=4096, |
fft_rate=15, |
average=False, |
avg_alpha=None, |
title="ADC1 Waterfall Plot", |
size=(4096, 500), |
) |
self.notebook_0.GetPage(0).Add(self.wxgui_waterfallsink2_0_0.win) |
self.wxgui_waterfallsink2_0 = waterfallsink2.waterfall_sink_c( |
self.notebook_0.GetPage(0).GetWin(), |
baseband_freq=0, |
dynamic_range=100, |
ref_level=0, |
ref_scale=2.0, |
sample_rate=samp_rate, |
fft_size=512, |
fft_rate=15, |
average=False, |
avg_alpha=None, |
title="ADC2 Waterfall Plot", |
win=window.hanning, |
) |
self.notebook_0.GetPage(0).Add(self.wxgui_waterfallsink2_0.win) |
self.wxgui_scopesink2_1 = scopesink2.scope_sink_f( |
self.notebook_0.GetPage(1).GetWin(), |
title="Scope Plot", |
sample_rate=samp_rate/2, |
v_scale=0, |
v_offset=0, |
t_scale=1e-2, |
ac_couple=False, |
xy_mode=False, |
num_inputs=2, |
trig_mode=wxgui.TRIG_MODE_AUTO, |
y_axis_label="Counts", |
) |
self.notebook_0.GetPage(1).Add(self.wxgui_scopesink2_1.win) |
self.wxgui_scopesink2_0 = scopesink2.scope_sink_f( |
self.notebook_0.GetPage(1).GetWin(), |
title="Scope Plot", |
sample_rate=samp_rate, |
v_scale=0, |
v_offset=0, |
t_scale=0, |
ac_couple=False, |
xy_mode=False, |
num_inputs=4, |
trig_mode=wxgui.TRIG_MODE_AUTO, |
y_axis_label="Counts", |
) |
self.notebook_0.GetPage(1).Add(self.wxgui_scopesink2_0.win) |
self.rational_resampler_xxx_0 = filter.rational_resampler_fff( |
interpolation=48, |
decimation=500, |
taps=None, |
fractional_bw=None, |
) |
self.low_pass_filter_0 = filter.fir_filter_ccf(int(samp_rate/500e3), firdes.low_pass( |
1, samp_rate, 100e3, 1e6, firdes.WIN_HAMMING, 6.76)) |
self.blocks_vector_to_streams_0 = blocks.vector_to_streams(gr.sizeof_short*1, 10) |
self.blocks_throttle_2 = blocks.throttle(gr.sizeof_short*10, samp_rate/2) |
self.blocks_short_to_float_2_0 = blocks.short_to_float(1, 1) |
self.blocks_short_to_float_2 = blocks.short_to_float(1, 1) |
self.blocks_short_to_float_1_0 = blocks.short_to_float(1, 1) |
self.blocks_short_to_float_1 = blocks.short_to_float(1, 1) |
self.blocks_short_to_float_0_0 = blocks.short_to_float(1, 1) |
self.blocks_short_to_float_0 = blocks.short_to_float(1, 1) |
self.blocks_multiply_const_vxx_0 = blocks.multiply_const_vff((variable_slider_0, )) |
self.blocks_interleave_0_2 = blocks.interleave(gr.sizeof_short*1) |
self.blocks_interleave_0_1 = blocks.interleave(gr.sizeof_short*1) |
self.blocks_interleave_0_0 = blocks.interleave(gr.sizeof_short*1) |
self.blocks_interleave_0 = blocks.interleave(gr.sizeof_short*1) |
self.blocks_float_to_complex_0_0 = blocks.float_to_complex(1) |
self.blocks_float_to_complex_0 = blocks.float_to_complex(1) |
self.blocks_file_source_0 = blocks.file_source(gr.sizeof_short*10, "/home/kaklik/GNU_radio/2014.04.15.17.02.48.dat", True) |
self.audio_sink_0 = audio.sink(48000, "", True) |
self.analog_wfm_rcv_0 = analog.wfm_rcv( |
quad_rate=500e3, |
audio_decimation=1, |
) |
################################################## |
# Connections |
################################################## |
self.connect((self.blocks_vector_to_streams_0, 2), (self.blocks_interleave_0_2, 0)) |
self.connect((self.blocks_vector_to_streams_0, 3), (self.blocks_interleave_0_2, 1)) |
self.connect((self.blocks_vector_to_streams_0, 4), (self.blocks_interleave_0_1, 0)) |
self.connect((self.blocks_vector_to_streams_0, 5), (self.blocks_interleave_0_1, 1)) |
self.connect((self.blocks_vector_to_streams_0, 6), (self.blocks_interleave_0_0, 0)) |
self.connect((self.blocks_vector_to_streams_0, 7), (self.blocks_interleave_0_0, 1)) |
self.connect((self.blocks_vector_to_streams_0, 8), (self.blocks_interleave_0, 0)) |
self.connect((self.blocks_vector_to_streams_0, 9), (self.blocks_interleave_0, 1)) |
self.connect((self.blocks_short_to_float_1, 0), (self.blocks_float_to_complex_0, 1)) |
self.connect((self.blocks_short_to_float_0, 0), (self.blocks_float_to_complex_0, 0)) |
self.connect((self.blocks_short_to_float_0_0, 0), (self.blocks_float_to_complex_0_0, 0)) |
self.connect((self.blocks_short_to_float_1_0, 0), (self.blocks_float_to_complex_0_0, 1)) |
self.connect((self.blocks_vector_to_streams_0, 0), (self.blocks_short_to_float_2, 0)) |
self.connect((self.blocks_vector_to_streams_0, 1), (self.blocks_short_to_float_2_0, 0)) |
self.connect((self.blocks_short_to_float_2, 0), (self.wxgui_scopesink2_1, 0)) |
self.connect((self.blocks_short_to_float_2_0, 0), (self.wxgui_scopesink2_1, 1)) |
self.connect((self.blocks_short_to_float_0_0, 0), (self.wxgui_scopesink2_0, 0)) |
self.connect((self.blocks_short_to_float_1_0, 0), (self.wxgui_scopesink2_0, 1)) |
self.connect((self.blocks_short_to_float_0, 0), (self.wxgui_scopesink2_0, 2)) |
self.connect((self.blocks_short_to_float_1, 0), (self.wxgui_scopesink2_0, 3)) |
self.connect((self.blocks_interleave_0_2, 0), (self.blocks_short_to_float_0_0, 0)) |
self.connect((self.blocks_interleave_0_1, 0), (self.blocks_short_to_float_1_0, 0)) |
self.connect((self.blocks_interleave_0_0, 0), (self.blocks_short_to_float_0, 0)) |
self.connect((self.blocks_interleave_0, 0), (self.blocks_short_to_float_1, 0)) |
self.connect((self.blocks_throttle_2, 0), (self.blocks_vector_to_streams_0, 0)) |
self.connect((self.blocks_file_source_0, 0), (self.blocks_throttle_2, 0)) |
self.connect((self.blocks_float_to_complex_0_0, 0), (self.wxgui_waterfallsink2_0_0, 0)) |
self.connect((self.blocks_float_to_complex_0, 0), (self.wxgui_waterfallsink2_0, 0)) |
self.connect((self.blocks_float_to_complex_0_0, 0), (self.low_pass_filter_0, 0)) |
self.connect((self.low_pass_filter_0, 0), (self.analog_wfm_rcv_0, 0)) |
self.connect((self.analog_wfm_rcv_0, 0), (self.rational_resampler_xxx_0, 0)) |
self.connect((self.rational_resampler_xxx_0, 0), (self.blocks_multiply_const_vxx_0, 0)) |
self.connect((self.blocks_multiply_const_vxx_0, 0), (self.audio_sink_0, 0)) |
self.connect((self.low_pass_filter_0, 0), (self.wxgui_waterfallsink2_1, 0)) |
self.connect((self.blocks_multiply_const_vxx_0, 0), (self.wxgui_waterfallsink2_2, 0)) |
# QT sink close method reimplementation |
def get_variable_slider_0(self): |
return self.variable_slider_0 |
def set_variable_slider_0(self, variable_slider_0): |
self.variable_slider_0 = variable_slider_0 |
self.blocks_multiply_const_vxx_0.set_k((self.variable_slider_0, )) |
self._variable_slider_0_slider.set_value(self.variable_slider_0) |
self._variable_slider_0_text_box.set_value(self.variable_slider_0) |
def get_samp_rate(self): |
return self.samp_rate |
def set_samp_rate(self, samp_rate): |
self.samp_rate = samp_rate |
self.blocks_throttle_2.set_sample_rate(self.samp_rate/2) |
self.low_pass_filter_0.set_taps(firdes.low_pass(1, self.samp_rate, 100e3, 1e6, firdes.WIN_HAMMING, 6.76)) |
self.wxgui_scopesink2_0.set_sample_rate(self.samp_rate) |
self.wxgui_waterfallsink2_0.set_sample_rate(self.samp_rate) |
self.wxgui_scopesink2_1.set_sample_rate(self.samp_rate/2) |
self.wxgui_waterfallsink2_0_0.set_sample_rate(self.samp_rate) |
if __name__ == '__main__': |
import ctypes |
import os |
if os.name == 'posix': |
try: |
x11 = ctypes.cdll.LoadLibrary('libX11.so') |
x11.XInitThreads() |
except: |
print "Warning: failed to XInitThreads()" |
parser = OptionParser(option_class=eng_option, usage="%prog: [options]") |
(options, args) = parser.parse_args() |
tb = top_block() |
tb.Start(True) |
tb.Wait() |
Property changes: |
Added: svn:executable |
+* |
\ No newline at end of property |
/Designs/HAM Constructions/SDRX02B/HDL/README.txt |
---|
0,0 → 1,3 |
Zdrojove kody FPGA rozhrani bez placeneho Xillybus modulu a par utilit, nepsal Ondrej Syrhrovsky. |
http://xillybus.com/ |
/Designs/HAM Constructions/SDRX02B/HDL/modules/comm/spi_master_transmit.vhd |
---|
0,0 → 1,132 |
-- this module transmit a given constant data when requested |
-- and then signals done. |
-- |
-- G_DATA has to contain also the address and the r/w bit |
-- |
-- MSB of G_DATA will go first |
-- P1DATA_P2DATA_P3DATA |
-- |
-- version for multiple devices with different data |
library ieee; |
use ieee.std_logic_1164.all; |
use ieee.numeric_std.all; |
entity spi_master_transmit is |
generic ( |
G_DATA1 : std_logic_vector; |
G_DATA2 : std_logic_vector; |
G_NUM_BITS_PACKET : integer; |
G_NUM_PACKETS : integer; |
G_NUM_BITS_PAUSE : integer |
); |
port ( |
i_clk : in std_logic; |
i_rst : in std_logic; |
o_done : out std_logic; |
-- selects which data to transfer. If '0', it transfers G_DATA1 |
i_data_selector : in std_logic; |
-- SPI ports: |
o_n_ce : out std_logic_vector; |
o_dout : out std_logic; |
o_clk : out std_logic |
); |
end spi_master_transmit; |
architecture behavioral of spi_master_transmit is |
subtype t_pause_counter is integer range 0 to G_NUM_BITS_PAUSE; |
signal s_pause_counter : t_pause_counter; |
subtype t_bit_counter is integer range 0 to G_NUM_BITS_PACKET - 1; |
signal s_bit_counter : t_bit_counter; |
subtype t_packet_counter is integer range 0 to G_NUM_PACKETS; |
signal s_packet_counter : t_packet_counter; |
subtype t_device_counter is integer range 0 to o_n_ce'length - 1; |
signal s_device_counter : t_device_counter; |
signal s_clk_inv : std_logic; |
--signal s_o_dout_d : std_logic; |
signal s_o_clk_en : std_logic; |
constant C_DATALEN_PER_DEVICE : integer := G_NUM_BITS_PACKET*G_NUM_PACKETS; |
signal s_cs_out : std_logic_vector( o_n_ce'range ); |
begin |
assert( G_DATA1'length = C_DATALEN_PER_DEVICE*o_n_ce'length ) report "The size of G_DATA1 does not match the number of devices and other generics." severity failure; |
assert( G_DATA2'length = C_DATALEN_PER_DEVICE*o_n_ce'length ) report "The size of G_DATA2 does not match the number of devices and other generics." severity failure; |
-- inverted clock: |
s_clk_inv <= not i_clk; |
-- output clock: |
o_clk <= i_clk and s_o_clk_en; |
-- done: |
o_done <= '1' when ( (i_rst = '0') and (s_packet_counter = 0) and (s_pause_counter = 0) and (s_bit_counter = 0 ) and (s_device_counter=0) ) else |
'0'; |
transmitter_process : process( s_clk_inv ) |
begin |
if( rising_edge( s_clk_inv ) ) then |
if( i_rst = '1' ) then |
s_bit_counter <= 0; |
s_pause_counter <= t_pause_counter'high; |
s_packet_counter <= t_packet_counter'high; |
s_device_counter <= t_device_counter'high; |
s_cs_out( s_cs_out'low ) <= '0'; |
s_cs_out( s_cs_out'high downto s_cs_out'low+1 ) <= ( others => '1' ); |
o_n_ce <= ( o_n_ce'range => '1' ); |
o_dout <= '0'; |
s_o_clk_en <= '0'; |
elsif( s_bit_counter > 0 ) then |
o_n_ce <= s_cs_out; |
if( i_data_selector = '0' ) then |
o_dout <= G_DATA1( s_bit_counter + s_packet_counter*G_NUM_BITS_PACKET - 1 + s_device_counter*C_DATALEN_PER_DEVICE ); -- here s_packet_counter points to the current packet and s_bit_counter is one bit behind, therefore the -1. |
else |
o_dout <= G_DATA2( s_bit_counter + s_packet_counter*G_NUM_BITS_PACKET - 1 + s_device_counter*C_DATALEN_PER_DEVICE ); |
end if; |
s_bit_counter <= s_bit_counter - 1; |
s_o_clk_en <= '1'; |
elsif( s_pause_counter > 0 ) then |
o_n_ce <= ( o_n_ce'range => '1' ); |
s_pause_counter <= s_pause_counter - 1; |
o_dout <= '0'; |
s_o_clk_en <= '0'; |
elsif( s_packet_counter > 0 ) then |
s_bit_counter <= t_bit_counter'high; |
s_pause_counter <= t_pause_counter'high; |
s_packet_counter <= s_packet_counter - 1; |
o_n_ce <= s_cs_out; |
if( i_data_selector = '0' ) then |
o_dout <= G_DATA1( s_bit_counter + s_packet_counter*G_NUM_BITS_PACKET - 1 + s_device_counter*C_DATALEN_PER_DEVICE ); -- here s_bit_counter = 0, s_packet_counter points to previous packet. Therefore -1 to get the msb of current packet. |
else |
o_dout <= G_DATA2( s_bit_counter + s_packet_counter*G_NUM_BITS_PACKET - 1 + s_device_counter*C_DATALEN_PER_DEVICE ); |
end if; |
s_o_clk_en <= '1'; |
elsif( s_device_counter > 0 ) then |
s_cs_out <= s_cs_out( s_cs_out'high-1 downto s_cs_out'low ) & '1'; |
s_device_counter <= s_device_counter - 1; |
-- follows pause. |
s_bit_counter <= 0; |
s_pause_counter <= t_pause_counter'high; |
s_packet_counter <= t_packet_counter'high; |
o_n_ce <= ( o_n_ce'range => '1' ); |
o_dout <= '0'; |
s_o_clk_en <= '0'; |
end if; |
end if; |
end process; |
end architecture; |
/Designs/HAM Constructions/SDRX02B/HDL/modules/core_generator_ml605/clk_125MHz_to_6MHz.xco |
---|
0,0 → 1,269 |
############################################################## |
# |
# Xilinx Core Generator version 14.3 |
# Date: Tue May 6 10:43:16 2014 |
# |
############################################################## |
# |
# This file contains the customisation parameters for a |
# Xilinx CORE Generator IP GUI. It is strongly recommended |
# that you do not manually alter this file as it may cause |
# unexpected and unsupported behavior. |
# |
############################################################## |
# |
# Generated from component: xilinx.com:ip:clk_wiz:3.6 |
# |
############################################################## |
# |
# BEGIN Project Options |
SET addpads = false |
SET asysymbol = true |
SET busformat = BusFormatAngleBracketNotRipped |
SET createndf = false |
SET designentry = VHDL |
SET device = xc6vlx240t |
SET devicefamily = virtex6 |
SET flowvendor = Other |
SET formalverification = false |
SET foundationsym = false |
SET implementationfiletype = Ngc |
SET package = ff1156 |
SET removerpms = false |
SET simulationfiles = Behavioral |
SET speedgrade = -1 |
SET verilogsim = false |
SET vhdlsim = true |
# END Project Options |
# BEGIN Select |
SELECT Clocking_Wizard xilinx.com:ip:clk_wiz:3.6 |
# END Select |
# BEGIN Parameters |
CSET calc_done=DONE |
CSET clk_in_sel_port=CLK_IN_SEL |
CSET clk_out1_port=CLK_OUT_6 |
CSET clk_out1_use_fine_ps_gui=false |
CSET clk_out2_port=CLK_OUT2 |
CSET clk_out2_use_fine_ps_gui=false |
CSET clk_out3_port=CLK_OUT3 |
CSET clk_out3_use_fine_ps_gui=false |
CSET clk_out4_port=CLK_OUT4 |
CSET clk_out4_use_fine_ps_gui=false |
CSET clk_out5_port=CLK_OUT5 |
CSET clk_out5_use_fine_ps_gui=false |
CSET clk_out6_port=CLK_OUT6 |
CSET clk_out6_use_fine_ps_gui=false |
CSET clk_out7_port=CLK_OUT7 |
CSET clk_out7_use_fine_ps_gui=false |
CSET clk_valid_port=CLK_VALID |
CSET clkfb_in_n_port=CLKFB_IN_N |
CSET clkfb_in_p_port=CLKFB_IN_P |
CSET clkfb_in_port=CLKFB_IN |
CSET clkfb_in_signaling=SINGLE |
CSET clkfb_out_n_port=CLKFB_OUT_N |
CSET clkfb_out_p_port=CLKFB_OUT_P |
CSET clkfb_out_port=CLKFB_OUT |
CSET clkfb_stopped_port=CLKFB_STOPPED |
CSET clkin1_jitter_ps=80.0 |
CSET clkin1_ui_jitter=0.010 |
CSET clkin2_jitter_ps=100.0 |
CSET clkin2_ui_jitter=0.010 |
CSET clkout1_drives=BUFG |
CSET clkout1_requested_duty_cycle=50.000 |
CSET clkout1_requested_out_freq=100.000 |
CSET clkout1_requested_phase=0.000 |
CSET clkout2_drives=BUFG |
CSET clkout2_requested_duty_cycle=50.000 |
CSET clkout2_requested_out_freq=100.000 |
CSET clkout2_requested_phase=0.000 |
CSET clkout2_used=false |
CSET clkout3_drives=BUFG |
CSET clkout3_requested_duty_cycle=50.000 |
CSET clkout3_requested_out_freq=100.000 |
CSET clkout3_requested_phase=0.000 |
CSET clkout3_used=false |
CSET clkout4_drives=BUFG |
CSET clkout4_requested_duty_cycle=50.000 |
CSET clkout4_requested_out_freq=100.000 |
CSET clkout4_requested_phase=0.000 |
CSET clkout4_used=false |
CSET clkout5_drives=BUFG |
CSET clkout5_requested_duty_cycle=50.000 |
CSET clkout5_requested_out_freq=100.000 |
CSET clkout5_requested_phase=0.000 |
CSET clkout5_used=false |
CSET clkout6_drives=BUFG |
CSET clkout6_requested_duty_cycle=50.000 |
CSET clkout6_requested_out_freq=100.000 |
CSET clkout6_requested_phase=0.000 |
CSET clkout6_used=false |
CSET clkout7_drives=BUFG |
CSET clkout7_requested_duty_cycle=50.000 |
CSET clkout7_requested_out_freq=100.000 |
CSET clkout7_requested_phase=0.000 |
CSET clkout7_used=false |
CSET clock_mgr_type=MANUAL |
CSET component_name=clk_125MHz_to_6MHz |
CSET daddr_port=DADDR |
CSET dclk_port=DCLK |
CSET dcm_clk_feedback=1X |
CSET dcm_clk_out1_port=CLK0 |
CSET dcm_clk_out2_port=CLK0 |
CSET dcm_clk_out3_port=CLK0 |
CSET dcm_clk_out4_port=CLK0 |
CSET dcm_clk_out5_port=CLK0 |
CSET dcm_clk_out6_port=CLK0 |
CSET dcm_clkdv_divide=2.0 |
CSET dcm_clkfx_divide=1 |
CSET dcm_clkfx_multiply=4 |
CSET dcm_clkgen_clk_out1_port=CLKFX |
CSET dcm_clkgen_clk_out2_port=CLKFX |
CSET dcm_clkgen_clk_out3_port=CLKFX |
CSET dcm_clkgen_clkfx_divide=1 |
CSET dcm_clkgen_clkfx_md_max=0.000 |
CSET dcm_clkgen_clkfx_multiply=4 |
CSET dcm_clkgen_clkfxdv_divide=2 |
CSET dcm_clkgen_clkin_period=10.000 |
CSET dcm_clkgen_notes=None |
CSET dcm_clkgen_spread_spectrum=NONE |
CSET dcm_clkgen_startup_wait=false |
CSET dcm_clkin_divide_by_2=false |
CSET dcm_clkin_period=10.000 |
CSET dcm_clkout_phase_shift=NONE |
CSET dcm_deskew_adjust=SYSTEM_SYNCHRONOUS |
CSET dcm_notes=None |
CSET dcm_phase_shift=0 |
CSET dcm_pll_cascade=NONE |
CSET dcm_startup_wait=false |
CSET den_port=DEN |
CSET din_port=DIN |
CSET dout_port=DOUT |
CSET drdy_port=DRDY |
CSET dwe_port=DWE |
CSET feedback_source=FDBK_AUTO |
CSET in_freq_units=Units_MHz |
CSET in_jitter_units=Units_UI |
CSET input_clk_stopped_port=INPUT_CLK_STOPPED |
CSET jitter_options=UI |
CSET jitter_sel=No_Jitter |
CSET locked_port=LOCKED |
CSET mmcm_bandwidth=OPTIMIZED |
CSET mmcm_clkfbout_mult_f=6.000 |
CSET mmcm_clkfbout_phase=0.000 |
CSET mmcm_clkfbout_use_fine_ps=false |
CSET mmcm_clkin1_period=8.000 |
CSET mmcm_clkin2_period=10.0 |
CSET mmcm_clkout0_divide_f=125.000 |
CSET mmcm_clkout0_duty_cycle=0.500 |
CSET mmcm_clkout0_phase=0.000 |
CSET mmcm_clkout0_use_fine_ps=false |
CSET mmcm_clkout1_divide=1 |
CSET mmcm_clkout1_duty_cycle=0.500 |
CSET mmcm_clkout1_phase=0.000 |
CSET mmcm_clkout1_use_fine_ps=false |
CSET mmcm_clkout2_divide=1 |
CSET mmcm_clkout2_duty_cycle=0.500 |
CSET mmcm_clkout2_phase=0.000 |
CSET mmcm_clkout2_use_fine_ps=false |
CSET mmcm_clkout3_divide=1 |
CSET mmcm_clkout3_duty_cycle=0.500 |
CSET mmcm_clkout3_phase=0.000 |
CSET mmcm_clkout3_use_fine_ps=false |
CSET mmcm_clkout4_cascade=false |
CSET mmcm_clkout4_divide=1 |
CSET mmcm_clkout4_duty_cycle=0.500 |
CSET mmcm_clkout4_phase=0.000 |
CSET mmcm_clkout4_use_fine_ps=false |
CSET mmcm_clkout5_divide=1 |
CSET mmcm_clkout5_duty_cycle=0.500 |
CSET mmcm_clkout5_phase=0.000 |
CSET mmcm_clkout5_use_fine_ps=false |
CSET mmcm_clkout6_divide=1 |
CSET mmcm_clkout6_duty_cycle=0.500 |
CSET mmcm_clkout6_phase=0.000 |
CSET mmcm_clkout6_use_fine_ps=false |
CSET mmcm_clock_hold=false |
CSET mmcm_compensation=ZHOLD |
CSET mmcm_divclk_divide=1 |
CSET mmcm_notes=None |
CSET mmcm_ref_jitter1=0.010 |
CSET mmcm_ref_jitter2=0.010 |
CSET mmcm_startup_wait=false |
CSET num_out_clks=1 |
CSET override_dcm=false |
CSET override_dcm_clkgen=false |
CSET override_mmcm=false |
CSET override_pll=false |
CSET platform=lin64 |
CSET pll_bandwidth=OPTIMIZED |
CSET pll_clk_feedback=CLKFBOUT |
CSET pll_clkfbout_mult=4 |
CSET pll_clkfbout_phase=0.000 |
CSET pll_clkin_period=10.000 |
CSET pll_clkout0_divide=1 |
CSET pll_clkout0_duty_cycle=0.500 |
CSET pll_clkout0_phase=0.000 |
CSET pll_clkout1_divide=1 |
CSET pll_clkout1_duty_cycle=0.500 |
CSET pll_clkout1_phase=0.000 |
CSET pll_clkout2_divide=1 |
CSET pll_clkout2_duty_cycle=0.500 |
CSET pll_clkout2_phase=0.000 |
CSET pll_clkout3_divide=1 |
CSET pll_clkout3_duty_cycle=0.500 |
CSET pll_clkout3_phase=0.000 |
CSET pll_clkout4_divide=1 |
CSET pll_clkout4_duty_cycle=0.500 |
CSET pll_clkout4_phase=0.000 |
CSET pll_clkout5_divide=1 |
CSET pll_clkout5_duty_cycle=0.500 |
CSET pll_clkout5_phase=0.000 |
CSET pll_compensation=SYSTEM_SYNCHRONOUS |
CSET pll_divclk_divide=1 |
CSET pll_notes=None |
CSET pll_ref_jitter=0.010 |
CSET power_down_port=POWER_DOWN |
CSET prim_in_freq=125 |
CSET prim_in_jitter=0.010 |
CSET prim_source=Global_buffer |
CSET primary_port=CLK_IN_125 |
CSET primitive=MMCM |
CSET primtype_sel=MMCM_ADV |
CSET psclk_port=PSCLK |
CSET psdone_port=PSDONE |
CSET psen_port=PSEN |
CSET psincdec_port=PSINCDEC |
CSET relative_inclk=REL_PRIMARY |
CSET reset_port=RESET |
CSET secondary_in_freq=100.000 |
CSET secondary_in_jitter=0.010 |
CSET secondary_port=CLK_IN2 |
CSET secondary_source=Single_ended_clock_capable_pin |
CSET ss_mod_freq=250 |
CSET ss_mode=CENTER_HIGH |
CSET status_port=STATUS |
CSET summary_strings=empty |
CSET use_clk_valid=false |
CSET use_clkfb_stopped=false |
CSET use_dyn_phase_shift=false |
CSET use_dyn_reconfig=false |
CSET use_freeze=false |
CSET use_freq_synth=true |
CSET use_inclk_stopped=false |
CSET use_inclk_switchover=false |
CSET use_locked=false |
CSET use_max_i_jitter=false |
CSET use_min_o_jitter=false |
CSET use_min_power=false |
CSET use_phase_alignment=true |
CSET use_power_down=false |
CSET use_reset=false |
CSET use_spread_spectrum=false |
CSET use_spread_spectrum_1=false |
CSET use_status=false |
# END Parameters |
# BEGIN Extra information |
MISC pkg_timestamp=2012-05-10T12:44:55Z |
# END Extra information |
GENERATE |
# CRC: 255c3699 |
/Designs/HAM Constructions/SDRX02B/HDL/modules/core_generator_ml605/fifo_32x512.xco |
---|
0,0 → 1,213 |
############################################################## |
# |
# Xilinx Core Generator version 14.3 |
# Date: Tue Apr 29 09:14:51 2014 |
# |
############################################################## |
# |
# This file contains the customisation parameters for a |
# Xilinx CORE Generator IP GUI. It is strongly recommended |
# that you do not manually alter this file as it may cause |
# unexpected and unsupported behavior. |
# |
############################################################## |
# |
# Generated from component: xilinx.com:ip:fifo_generator:9.2 |
# |
############################################################## |
# |
# BEGIN Project Options |
SET addpads = false |
SET asysymbol = true |
SET busformat = BusFormatAngleBracketNotRipped |
SET createndf = false |
SET designentry = VHDL |
SET device = xc6vlx240t |
SET devicefamily = virtex6 |
SET flowvendor = Other |
SET formalverification = false |
SET foundationsym = false |
SET implementationfiletype = Ngc |
SET package = ff1156 |
SET removerpms = false |
SET simulationfiles = Behavioral |
SET speedgrade = -1 |
SET verilogsim = false |
SET vhdlsim = true |
# END Project Options |
# BEGIN Select |
SELECT Fifo_Generator xilinx.com:ip:fifo_generator:9.2 |
# END Select |
# BEGIN Parameters |
CSET add_ngc_constraint_axi=false |
CSET almost_empty_flag=false |
CSET almost_full_flag=false |
CSET aruser_width=1 |
CSET awuser_width=1 |
CSET axi_address_width=32 |
CSET axi_data_width=64 |
CSET axi_type=AXI4_Stream |
CSET axis_type=FIFO |
CSET buser_width=1 |
CSET clock_enable_type=Slave_Interface_Clock_Enable |
CSET clock_type_axi=Common_Clock |
CSET component_name=fifo_32x512 |
CSET data_count=false |
CSET data_count_width=9 |
CSET disable_timing_violations=false |
CSET disable_timing_violations_axi=false |
CSET dout_reset_value=0 |
CSET empty_threshold_assert_value=2 |
CSET empty_threshold_assert_value_axis=1022 |
CSET empty_threshold_assert_value_rach=1022 |
CSET empty_threshold_assert_value_rdch=1022 |
CSET empty_threshold_assert_value_wach=1022 |
CSET empty_threshold_assert_value_wdch=1022 |
CSET empty_threshold_assert_value_wrch=1022 |
CSET empty_threshold_negate_value=3 |
CSET enable_aruser=false |
CSET enable_awuser=false |
CSET enable_buser=false |
CSET enable_common_overflow=false |
CSET enable_common_underflow=false |
CSET enable_data_counts_axis=false |
CSET enable_data_counts_rach=false |
CSET enable_data_counts_rdch=false |
CSET enable_data_counts_wach=false |
CSET enable_data_counts_wdch=false |
CSET enable_data_counts_wrch=false |
CSET enable_ecc=false |
CSET enable_ecc_axis=false |
CSET enable_ecc_rach=false |
CSET enable_ecc_rdch=false |
CSET enable_ecc_wach=false |
CSET enable_ecc_wdch=false |
CSET enable_ecc_wrch=false |
CSET enable_read_channel=false |
CSET enable_read_pointer_increment_by2=false |
CSET enable_reset_synchronization=true |
CSET enable_ruser=false |
CSET enable_tdata=false |
CSET enable_tdest=false |
CSET enable_tid=false |
CSET enable_tkeep=false |
CSET enable_tlast=false |
CSET enable_tready=true |
CSET enable_tstrobe=false |
CSET enable_tuser=false |
CSET enable_write_channel=false |
CSET enable_wuser=false |
CSET fifo_application_type_axis=Data_FIFO |
CSET fifo_application_type_rach=Data_FIFO |
CSET fifo_application_type_rdch=Data_FIFO |
CSET fifo_application_type_wach=Data_FIFO |
CSET fifo_application_type_wdch=Data_FIFO |
CSET fifo_application_type_wrch=Data_FIFO |
CSET fifo_implementation=Common_Clock_Block_RAM |
CSET fifo_implementation_axis=Common_Clock_Block_RAM |
CSET fifo_implementation_rach=Common_Clock_Block_RAM |
CSET fifo_implementation_rdch=Common_Clock_Block_RAM |
CSET fifo_implementation_wach=Common_Clock_Block_RAM |
CSET fifo_implementation_wdch=Common_Clock_Block_RAM |
CSET fifo_implementation_wrch=Common_Clock_Block_RAM |
CSET full_flags_reset_value=0 |
CSET full_threshold_assert_value=510 |
CSET full_threshold_assert_value_axis=1023 |
CSET full_threshold_assert_value_rach=1023 |
CSET full_threshold_assert_value_rdch=1023 |
CSET full_threshold_assert_value_wach=1023 |
CSET full_threshold_assert_value_wdch=1023 |
CSET full_threshold_assert_value_wrch=1023 |
CSET full_threshold_negate_value=509 |
CSET id_width=4 |
CSET inject_dbit_error=false |
CSET inject_dbit_error_axis=false |
CSET inject_dbit_error_rach=false |
CSET inject_dbit_error_rdch=false |
CSET inject_dbit_error_wach=false |
CSET inject_dbit_error_wdch=false |
CSET inject_dbit_error_wrch=false |
CSET inject_sbit_error=false |
CSET inject_sbit_error_axis=false |
CSET inject_sbit_error_rach=false |
CSET inject_sbit_error_rdch=false |
CSET inject_sbit_error_wach=false |
CSET inject_sbit_error_wdch=false |
CSET inject_sbit_error_wrch=false |
CSET input_data_width=32 |
CSET input_depth=512 |
CSET input_depth_axis=1024 |
CSET input_depth_rach=16 |
CSET input_depth_rdch=1024 |
CSET input_depth_wach=16 |
CSET input_depth_wdch=1024 |
CSET input_depth_wrch=16 |
CSET interface_type=Native |
CSET output_data_width=32 |
CSET output_depth=512 |
CSET overflow_flag=false |
CSET overflow_flag_axi=false |
CSET overflow_sense=Active_High |
CSET overflow_sense_axi=Active_High |
CSET performance_options=Standard_FIFO |
CSET programmable_empty_type=No_Programmable_Empty_Threshold |
CSET programmable_empty_type_axis=No_Programmable_Empty_Threshold |
CSET programmable_empty_type_rach=No_Programmable_Empty_Threshold |
CSET programmable_empty_type_rdch=No_Programmable_Empty_Threshold |
CSET programmable_empty_type_wach=No_Programmable_Empty_Threshold |
CSET programmable_empty_type_wdch=No_Programmable_Empty_Threshold |
CSET programmable_empty_type_wrch=No_Programmable_Empty_Threshold |
CSET programmable_full_type=No_Programmable_Full_Threshold |
CSET programmable_full_type_axis=No_Programmable_Full_Threshold |
CSET programmable_full_type_rach=No_Programmable_Full_Threshold |
CSET programmable_full_type_rdch=No_Programmable_Full_Threshold |
CSET programmable_full_type_wach=No_Programmable_Full_Threshold |
CSET programmable_full_type_wdch=No_Programmable_Full_Threshold |
CSET programmable_full_type_wrch=No_Programmable_Full_Threshold |
CSET rach_type=FIFO |
CSET rdch_type=FIFO |
CSET read_clock_frequency=1 |
CSET read_data_count=false |
CSET read_data_count_width=9 |
CSET register_slice_mode_axis=Fully_Registered |
CSET register_slice_mode_rach=Fully_Registered |
CSET register_slice_mode_rdch=Fully_Registered |
CSET register_slice_mode_wach=Fully_Registered |
CSET register_slice_mode_wdch=Fully_Registered |
CSET register_slice_mode_wrch=Fully_Registered |
CSET reset_pin=true |
CSET reset_type=Synchronous_Reset |
CSET ruser_width=1 |
CSET synchronization_stages=2 |
CSET synchronization_stages_axi=2 |
CSET tdata_width=64 |
CSET tdest_width=4 |
CSET tid_width=8 |
CSET tkeep_width=4 |
CSET tstrb_width=4 |
CSET tuser_width=4 |
CSET underflow_flag=false |
CSET underflow_flag_axi=false |
CSET underflow_sense=Active_High |
CSET underflow_sense_axi=Active_High |
CSET use_clock_enable=false |
CSET use_dout_reset=true |
CSET use_embedded_registers=false |
CSET use_extra_logic=false |
CSET valid_flag=true |
CSET valid_sense=Active_High |
CSET wach_type=FIFO |
CSET wdch_type=FIFO |
CSET wrch_type=FIFO |
CSET write_acknowledge_flag=false |
CSET write_acknowledge_sense=Active_High |
CSET write_clock_frequency=1 |
CSET write_data_count=false |
CSET write_data_count_width=9 |
CSET wuser_width=1 |
# END Parameters |
# BEGIN Extra information |
MISC pkg_timestamp=2012-06-23T13:35:37Z |
# END Extra information |
GENERATE |
# CRC: e2c6d431 |
/Designs/HAM Constructions/SDRX02B/HDL/modules/core_generator_ml605/fifo_32x512_dualclk_fwft.xco |
---|
0,0 → 1,213 |
############################################################## |
# |
# Xilinx Core Generator version 14.3 |
# Date: Tue May 6 09:52:07 2014 |
# |
############################################################## |
# |
# This file contains the customisation parameters for a |
# Xilinx CORE Generator IP GUI. It is strongly recommended |
# that you do not manually alter this file as it may cause |
# unexpected and unsupported behavior. |
# |
############################################################## |
# |
# Generated from component: xilinx.com:ip:fifo_generator:9.3 |
# |
############################################################## |
# |
# BEGIN Project Options |
SET addpads = false |
SET asysymbol = true |
SET busformat = BusFormatAngleBracketNotRipped |
SET createndf = false |
SET designentry = VHDL |
SET device = xc6vlx240t |
SET devicefamily = virtex6 |
SET flowvendor = Other |
SET formalverification = false |
SET foundationsym = false |
SET implementationfiletype = Ngc |
SET package = ff1156 |
SET removerpms = false |
SET simulationfiles = Behavioral |
SET speedgrade = -1 |
SET verilogsim = false |
SET vhdlsim = true |
# END Project Options |
# BEGIN Select |
SELECT FIFO_Generator xilinx.com:ip:fifo_generator:9.3 |
# END Select |
# BEGIN Parameters |
CSET add_ngc_constraint_axi=false |
CSET almost_empty_flag=false |
CSET almost_full_flag=false |
CSET aruser_width=1 |
CSET awuser_width=1 |
CSET axi_address_width=32 |
CSET axi_data_width=64 |
CSET axi_type=AXI4_Stream |
CSET axis_type=FIFO |
CSET buser_width=1 |
CSET clock_enable_type=Slave_Interface_Clock_Enable |
CSET clock_type_axi=Common_Clock |
CSET component_name=fifo_32x512_dualclk_fwft |
CSET data_count=false |
CSET data_count_width=9 |
CSET disable_timing_violations=false |
CSET disable_timing_violations_axi=false |
CSET dout_reset_value=0 |
CSET empty_threshold_assert_value=4 |
CSET empty_threshold_assert_value_axis=1022 |
CSET empty_threshold_assert_value_rach=1022 |
CSET empty_threshold_assert_value_rdch=1022 |
CSET empty_threshold_assert_value_wach=1022 |
CSET empty_threshold_assert_value_wdch=1022 |
CSET empty_threshold_assert_value_wrch=1022 |
CSET empty_threshold_negate_value=5 |
CSET enable_aruser=false |
CSET enable_awuser=false |
CSET enable_buser=false |
CSET enable_common_overflow=false |
CSET enable_common_underflow=false |
CSET enable_data_counts_axis=false |
CSET enable_data_counts_rach=false |
CSET enable_data_counts_rdch=false |
CSET enable_data_counts_wach=false |
CSET enable_data_counts_wdch=false |
CSET enable_data_counts_wrch=false |
CSET enable_ecc=false |
CSET enable_ecc_axis=false |
CSET enable_ecc_rach=false |
CSET enable_ecc_rdch=false |
CSET enable_ecc_wach=false |
CSET enable_ecc_wdch=false |
CSET enable_ecc_wrch=false |
CSET enable_read_channel=false |
CSET enable_read_pointer_increment_by2=false |
CSET enable_reset_synchronization=true |
CSET enable_ruser=false |
CSET enable_tdata=false |
CSET enable_tdest=false |
CSET enable_tid=false |
CSET enable_tkeep=false |
CSET enable_tlast=false |
CSET enable_tready=true |
CSET enable_tstrobe=false |
CSET enable_tuser=false |
CSET enable_write_channel=false |
CSET enable_wuser=false |
CSET fifo_application_type_axis=Data_FIFO |
CSET fifo_application_type_rach=Data_FIFO |
CSET fifo_application_type_rdch=Data_FIFO |
CSET fifo_application_type_wach=Data_FIFO |
CSET fifo_application_type_wdch=Data_FIFO |
CSET fifo_application_type_wrch=Data_FIFO |
CSET fifo_implementation=Independent_Clocks_Block_RAM |
CSET fifo_implementation_axis=Common_Clock_Block_RAM |
CSET fifo_implementation_rach=Common_Clock_Block_RAM |
CSET fifo_implementation_rdch=Common_Clock_Block_RAM |
CSET fifo_implementation_wach=Common_Clock_Block_RAM |
CSET fifo_implementation_wdch=Common_Clock_Block_RAM |
CSET fifo_implementation_wrch=Common_Clock_Block_RAM |
CSET full_flags_reset_value=1 |
CSET full_threshold_assert_value=511 |
CSET full_threshold_assert_value_axis=1023 |
CSET full_threshold_assert_value_rach=1023 |
CSET full_threshold_assert_value_rdch=1023 |
CSET full_threshold_assert_value_wach=1023 |
CSET full_threshold_assert_value_wdch=1023 |
CSET full_threshold_assert_value_wrch=1023 |
CSET full_threshold_negate_value=510 |
CSET id_width=4 |
CSET inject_dbit_error=false |
CSET inject_dbit_error_axis=false |
CSET inject_dbit_error_rach=false |
CSET inject_dbit_error_rdch=false |
CSET inject_dbit_error_wach=false |
CSET inject_dbit_error_wdch=false |
CSET inject_dbit_error_wrch=false |
CSET inject_sbit_error=false |
CSET inject_sbit_error_axis=false |
CSET inject_sbit_error_rach=false |
CSET inject_sbit_error_rdch=false |
CSET inject_sbit_error_wach=false |
CSET inject_sbit_error_wdch=false |
CSET inject_sbit_error_wrch=false |
CSET input_data_width=32 |
CSET input_depth=512 |
CSET input_depth_axis=1024 |
CSET input_depth_rach=16 |
CSET input_depth_rdch=1024 |
CSET input_depth_wach=16 |
CSET input_depth_wdch=1024 |
CSET input_depth_wrch=16 |
CSET interface_type=Native |
CSET output_data_width=32 |
CSET output_depth=512 |
CSET overflow_flag=false |
CSET overflow_flag_axi=false |
CSET overflow_sense=Active_High |
CSET overflow_sense_axi=Active_High |
CSET performance_options=First_Word_Fall_Through |
CSET programmable_empty_type=No_Programmable_Empty_Threshold |
CSET programmable_empty_type_axis=No_Programmable_Empty_Threshold |
CSET programmable_empty_type_rach=No_Programmable_Empty_Threshold |
CSET programmable_empty_type_rdch=No_Programmable_Empty_Threshold |
CSET programmable_empty_type_wach=No_Programmable_Empty_Threshold |
CSET programmable_empty_type_wdch=No_Programmable_Empty_Threshold |
CSET programmable_empty_type_wrch=No_Programmable_Empty_Threshold |
CSET programmable_full_type=No_Programmable_Full_Threshold |
CSET programmable_full_type_axis=No_Programmable_Full_Threshold |
CSET programmable_full_type_rach=No_Programmable_Full_Threshold |
CSET programmable_full_type_rdch=No_Programmable_Full_Threshold |
CSET programmable_full_type_wach=No_Programmable_Full_Threshold |
CSET programmable_full_type_wdch=No_Programmable_Full_Threshold |
CSET programmable_full_type_wrch=No_Programmable_Full_Threshold |
CSET rach_type=FIFO |
CSET rdch_type=FIFO |
CSET read_clock_frequency=1 |
CSET read_data_count=false |
CSET read_data_count_width=9 |
CSET register_slice_mode_axis=Fully_Registered |
CSET register_slice_mode_rach=Fully_Registered |
CSET register_slice_mode_rdch=Fully_Registered |
CSET register_slice_mode_wach=Fully_Registered |
CSET register_slice_mode_wdch=Fully_Registered |
CSET register_slice_mode_wrch=Fully_Registered |
CSET reset_pin=true |
CSET reset_type=Asynchronous_Reset |
CSET ruser_width=1 |
CSET synchronization_stages=2 |
CSET synchronization_stages_axi=2 |
CSET tdata_width=64 |
CSET tdest_width=4 |
CSET tid_width=8 |
CSET tkeep_width=4 |
CSET tstrb_width=4 |
CSET tuser_width=4 |
CSET underflow_flag=false |
CSET underflow_flag_axi=false |
CSET underflow_sense=Active_High |
CSET underflow_sense_axi=Active_High |
CSET use_clock_enable=false |
CSET use_dout_reset=false |
CSET use_embedded_registers=false |
CSET use_extra_logic=false |
CSET valid_flag=true |
CSET valid_sense=Active_High |
CSET wach_type=FIFO |
CSET wdch_type=FIFO |
CSET wrch_type=FIFO |
CSET write_acknowledge_flag=false |
CSET write_acknowledge_sense=Active_High |
CSET write_clock_frequency=1 |
CSET write_data_count=false |
CSET write_data_count_width=9 |
CSET wuser_width=1 |
# END Parameters |
# BEGIN Extra information |
MISC pkg_timestamp=2012-07-25T18:11:59Z |
# END Extra information |
GENERATE |
# CRC: 19014e08 |
/Designs/HAM Constructions/SDRX02B/HDL/modules/core_generator_ml605/fifo_32x512_walmostfull.xco |
---|
0,0 → 1,213 |
############################################################## |
# |
# Xilinx Core Generator version 14.3 |
# Date: Tue May 6 09:54:30 2014 |
# |
############################################################## |
# |
# This file contains the customisation parameters for a |
# Xilinx CORE Generator IP GUI. It is strongly recommended |
# that you do not manually alter this file as it may cause |
# unexpected and unsupported behavior. |
# |
############################################################## |
# |
# Generated from component: xilinx.com:ip:fifo_generator:9.3 |
# |
############################################################## |
# |
# BEGIN Project Options |
SET addpads = false |
SET asysymbol = true |
SET busformat = BusFormatAngleBracketNotRipped |
SET createndf = false |
SET designentry = VHDL |
SET device = xc6vlx240t |
SET devicefamily = virtex6 |
SET flowvendor = Other |
SET formalverification = false |
SET foundationsym = false |
SET implementationfiletype = Ngc |
SET package = ff1156 |
SET removerpms = false |
SET simulationfiles = Behavioral |
SET speedgrade = -1 |
SET verilogsim = false |
SET vhdlsim = true |
# END Project Options |
# BEGIN Select |
SELECT FIFO_Generator xilinx.com:ip:fifo_generator:9.3 |
# END Select |
# BEGIN Parameters |
CSET add_ngc_constraint_axi=false |
CSET almost_empty_flag=false |
CSET almost_full_flag=false |
CSET aruser_width=1 |
CSET awuser_width=1 |
CSET axi_address_width=32 |
CSET axi_data_width=64 |
CSET axi_type=AXI4_Stream |
CSET axis_type=FIFO |
CSET buser_width=1 |
CSET clock_enable_type=Slave_Interface_Clock_Enable |
CSET clock_type_axi=Common_Clock |
CSET component_name=fifo_32x512_walmostfull |
CSET data_count=false |
CSET data_count_width=9 |
CSET disable_timing_violations=false |
CSET disable_timing_violations_axi=false |
CSET dout_reset_value=0 |
CSET empty_threshold_assert_value=2 |
CSET empty_threshold_assert_value_axis=1022 |
CSET empty_threshold_assert_value_rach=1022 |
CSET empty_threshold_assert_value_rdch=1022 |
CSET empty_threshold_assert_value_wach=1022 |
CSET empty_threshold_assert_value_wdch=1022 |
CSET empty_threshold_assert_value_wrch=1022 |
CSET empty_threshold_negate_value=3 |
CSET enable_aruser=false |
CSET enable_awuser=false |
CSET enable_buser=false |
CSET enable_common_overflow=false |
CSET enable_common_underflow=false |
CSET enable_data_counts_axis=false |
CSET enable_data_counts_rach=false |
CSET enable_data_counts_rdch=false |
CSET enable_data_counts_wach=false |
CSET enable_data_counts_wdch=false |
CSET enable_data_counts_wrch=false |
CSET enable_ecc=false |
CSET enable_ecc_axis=false |
CSET enable_ecc_rach=false |
CSET enable_ecc_rdch=false |
CSET enable_ecc_wach=false |
CSET enable_ecc_wdch=false |
CSET enable_ecc_wrch=false |
CSET enable_read_channel=false |
CSET enable_read_pointer_increment_by2=false |
CSET enable_reset_synchronization=true |
CSET enable_ruser=false |
CSET enable_tdata=false |
CSET enable_tdest=false |
CSET enable_tid=false |
CSET enable_tkeep=false |
CSET enable_tlast=false |
CSET enable_tready=true |
CSET enable_tstrobe=false |
CSET enable_tuser=false |
CSET enable_write_channel=false |
CSET enable_wuser=false |
CSET fifo_application_type_axis=Data_FIFO |
CSET fifo_application_type_rach=Data_FIFO |
CSET fifo_application_type_rdch=Data_FIFO |
CSET fifo_application_type_wach=Data_FIFO |
CSET fifo_application_type_wdch=Data_FIFO |
CSET fifo_application_type_wrch=Data_FIFO |
CSET fifo_implementation=Common_Clock_Block_RAM |
CSET fifo_implementation_axis=Common_Clock_Block_RAM |
CSET fifo_implementation_rach=Common_Clock_Block_RAM |
CSET fifo_implementation_rdch=Common_Clock_Block_RAM |
CSET fifo_implementation_wach=Common_Clock_Block_RAM |
CSET fifo_implementation_wdch=Common_Clock_Block_RAM |
CSET fifo_implementation_wrch=Common_Clock_Block_RAM |
CSET full_flags_reset_value=0 |
CSET full_threshold_assert_value=400 |
CSET full_threshold_assert_value_axis=1023 |
CSET full_threshold_assert_value_rach=1023 |
CSET full_threshold_assert_value_rdch=1023 |
CSET full_threshold_assert_value_wach=1023 |
CSET full_threshold_assert_value_wdch=1023 |
CSET full_threshold_assert_value_wrch=1023 |
CSET full_threshold_negate_value=399 |
CSET id_width=4 |
CSET inject_dbit_error=false |
CSET inject_dbit_error_axis=false |
CSET inject_dbit_error_rach=false |
CSET inject_dbit_error_rdch=false |
CSET inject_dbit_error_wach=false |
CSET inject_dbit_error_wdch=false |
CSET inject_dbit_error_wrch=false |
CSET inject_sbit_error=false |
CSET inject_sbit_error_axis=false |
CSET inject_sbit_error_rach=false |
CSET inject_sbit_error_rdch=false |
CSET inject_sbit_error_wach=false |
CSET inject_sbit_error_wdch=false |
CSET inject_sbit_error_wrch=false |
CSET input_data_width=32 |
CSET input_depth=512 |
CSET input_depth_axis=1024 |
CSET input_depth_rach=16 |
CSET input_depth_rdch=1024 |
CSET input_depth_wach=16 |
CSET input_depth_wdch=1024 |
CSET input_depth_wrch=16 |
CSET interface_type=Native |
CSET output_data_width=32 |
CSET output_depth=512 |
CSET overflow_flag=false |
CSET overflow_flag_axi=false |
CSET overflow_sense=Active_High |
CSET overflow_sense_axi=Active_High |
CSET performance_options=Standard_FIFO |
CSET programmable_empty_type=No_Programmable_Empty_Threshold |
CSET programmable_empty_type_axis=No_Programmable_Empty_Threshold |
CSET programmable_empty_type_rach=No_Programmable_Empty_Threshold |
CSET programmable_empty_type_rdch=No_Programmable_Empty_Threshold |
CSET programmable_empty_type_wach=No_Programmable_Empty_Threshold |
CSET programmable_empty_type_wdch=No_Programmable_Empty_Threshold |
CSET programmable_empty_type_wrch=No_Programmable_Empty_Threshold |
CSET programmable_full_type=Single_Programmable_Full_Threshold_Constant |
CSET programmable_full_type_axis=No_Programmable_Full_Threshold |
CSET programmable_full_type_rach=No_Programmable_Full_Threshold |
CSET programmable_full_type_rdch=No_Programmable_Full_Threshold |
CSET programmable_full_type_wach=No_Programmable_Full_Threshold |
CSET programmable_full_type_wdch=No_Programmable_Full_Threshold |
CSET programmable_full_type_wrch=No_Programmable_Full_Threshold |
CSET rach_type=FIFO |
CSET rdch_type=FIFO |
CSET read_clock_frequency=1 |
CSET read_data_count=false |
CSET read_data_count_width=9 |
CSET register_slice_mode_axis=Fully_Registered |
CSET register_slice_mode_rach=Fully_Registered |
CSET register_slice_mode_rdch=Fully_Registered |
CSET register_slice_mode_wach=Fully_Registered |
CSET register_slice_mode_wdch=Fully_Registered |
CSET register_slice_mode_wrch=Fully_Registered |
CSET reset_pin=true |
CSET reset_type=Synchronous_Reset |
CSET ruser_width=1 |
CSET synchronization_stages=2 |
CSET synchronization_stages_axi=2 |
CSET tdata_width=64 |
CSET tdest_width=4 |
CSET tid_width=8 |
CSET tkeep_width=4 |
CSET tstrb_width=4 |
CSET tuser_width=4 |
CSET underflow_flag=false |
CSET underflow_flag_axi=false |
CSET underflow_sense=Active_High |
CSET underflow_sense_axi=Active_High |
CSET use_clock_enable=false |
CSET use_dout_reset=false |
CSET use_embedded_registers=false |
CSET use_extra_logic=false |
CSET valid_flag=true |
CSET valid_sense=Active_High |
CSET wach_type=FIFO |
CSET wdch_type=FIFO |
CSET wrch_type=FIFO |
CSET write_acknowledge_flag=false |
CSET write_acknowledge_sense=Active_High |
CSET write_clock_frequency=1 |
CSET write_data_count=false |
CSET write_data_count_width=9 |
CSET wuser_width=1 |
# END Parameters |
# BEGIN Extra information |
MISC pkg_timestamp=2012-07-25T18:11:59Z |
# END Extra information |
GENERATE |
# CRC: 53dc1af8 |
/Designs/HAM Constructions/SDRX02B/HDL/modules/fifo_related/fifo_to_enable.vhd |
---|
0,0 → 1,81 |
-- A bridge between the read side of a native FIFO and the Flexelerator's "enable" signal technique |
library ieee; |
use ieee.std_logic_1164.all; |
use ieee.numeric_std.all; |
entity fifo_to_enable is |
port( |
-- Input from FIFO: |
din : in std_logic_vector; |
rden : out std_logic; |
empty : in std_logic; |
-- Output with enable: |
data : out std_logic_vector; |
valid : out std_logic; |
enable : in std_logic; |
clk : in std_logic; |
reset : in std_logic |
); |
end entity; |
architecture behavioral of fifo_to_enable is |
signal s_rden : std_logic := '0'; |
signal s_rden_d : std_logic := '0'; |
signal s_valid : std_logic := '0'; |
subtype t_data is std_logic_vector( din'range ); |
type t_data_buffer is array( 1 to 2 ) of t_data; |
signal s_data_buffer : t_data_buffer := ( others => ( others => '0' ) ); |
signal s_cntr : natural range 0 to 3; |
begin |
s_rden <= '1' when empty = '0' and enable = '1' and reset = '0' and s_cntr < 3 else '0'; |
rden <= s_rden; |
s_valid <= '1' when s_cntr > 0 and enable = '1' and reset = '0' else '0'; |
valid <= s_valid; |
data <= s_data_buffer( 1 ); |
-- Delayed rden: |
delayed_rden : process( clk ) is |
begin |
if( rising_edge( clk ) ) then |
s_rden_d <= s_rden; |
end if; |
end process; |
data_manipulation : process( clk ) is |
begin |
if( rising_edge( clk ) ) then |
if( s_valid = '1' ) then |
s_data_buffer(1) <= s_data_buffer(2); |
--s_data_buffer(2) <= s_data_buffer(3); |
end if; |
if( reset = '1' ) then |
s_cntr <= 0; |
elsif( s_rden_d = '1' and s_valid = '0' ) then |
s_cntr <= s_cntr + 1; |
s_data_buffer( s_cntr + 1 ) <= din; |
elsif( s_rden_d = '1' and s_valid = '1' ) then |
s_data_buffer( s_cntr ) <= din; |
elsif( s_rden_d = '0' and s_valid = '1' ) then |
s_cntr <= s_cntr - 1; |
end if; |
end if; |
end process; |
end architecture; |
/Designs/HAM Constructions/SDRX02B/HDL/modules/information/information_block.vhd |
---|
0,0 → 1,117 |
-- Provides information about the firmware. |
-- This block is written as a generic memory that sends data based on the requested address. |
-- |
-- Generally this block is connected to the 'control' interface in the userlogiccmp_forxilly block and the user interacts with it using the 'control' files. |
-- The information_data package should contain several mandatory constants as well as the contents of the memory. Generally, the first four 32-bit-tuples are occupied by a unique GUID that identifies the firmware. |
library ieee; |
use ieee.std_logic_1164.all; |
use ieee.numeric_std.all; |
library utilities; |
use utilities.utilities.all; |
library information; |
use information.information_data.all; |
---------------------------------------------------------------- |
-- NOTE: No range check on the i_data requested address. |
entity information_block is |
port ( |
clk : in std_logic; |
rst : in std_logic; |
-- Input side: |
i_data : in std_logic_vector( 31 downto 0 ); |
i_valid : in std_logic; |
o_enable : out std_logic; |
-- Output side: |
o_data : out std_logic_vector( 31 downto 0 ); |
o_valid : out std_logic; |
i_enable : in std_logic |
); |
end entity; |
architecture rtl of information_block is |
-- data in buffer |
signal buffer_valid : std_logic; |
signal buffer_data : std_logic_vector( o_data'range ); |
-- data from the memory |
signal mem_valid : std_logic; |
signal mem_data : std_logic_vector( o_data'range ); |
signal oo_valid : std_logic; |
signal addr : unsigned( log2( C_INFO_NUMDATA ) - 1 downto 0 ); |
--signal i_valid_d : std_logic; |
constant C_RESVAL : std_logic_vector( C_INFO_BITWIDTH -1 downto 0 ) := ( others => '0' ); |
-- Memory content: |
subtype t_memdata is t_twodim_stdlogic( C_INFO_NUMDATA - 1 downto 0, C_INFO_BITWIDTH - 1 downto 0 ); |
constant C_MEMDATA : t_memdata := stdlogicvector_to_twodim( C_INFO_DATA, C_INFO_NUMDATA, C_INFO_BITWIDTH ); |
begin |
o_enable <= i_enable; |
o_valid <= oo_valid and i_enable; |
o_data <= buffer_data when buffer_valid = '1' else |
mem_data; |
oo_valid <= buffer_valid when buffer_valid = '1' else |
mem_valid; |
valid_handling: process( clk ) |
begin |
if( rising_edge(clk) ) then |
mem_valid <= i_valid; |
end if; |
end process; |
addr <= unsigned( i_data( addr'range ) ); |
-- inferred bram: |
inferred_bram_inst : entity utilities.inferred_bram |
generic map( |
G_RAM_CONTENT => C_MEMDATA, |
G_WIDTH => C_INFO_BITWIDTH, |
G_SIZE => C_INFO_NUMDATA, |
G_RESVAL_A => C_RESVAL |
) |
port map( |
i_clka => clk, |
i_ena => '1', |
i_wea => '0', |
i_resa => '0', |
i_addra => addr, |
i_dataa => ( C_INFO_BITWIDTH - 1 downto 0 => '0' ), |
o_dataa => mem_data |
); |
outp_data : process( clk ) |
begin |
if( rising_edge(clk) ) then |
if( rst = '1' ) then |
buffer_valid <= '0'; |
else |
if( i_enable = '1' ) then |
buffer_valid <= '0'; |
elsif( buffer_valid = '0' ) then |
buffer_valid <= mem_valid; |
buffer_data <= mem_data; |
end if; |
end if; |
end if; |
end process; |
end architecture; |
/Designs/HAM Constructions/SDRX02B/HDL/modules/sychro1/clock_divider.vhd |
---|
0,0 → 1,68 |
library ieee; |
use ieee.std_logic_1164.all; |
use ieee.numeric_std.all; |
library UNISIM; |
use UNISIM.vcomponents.all; |
entity clock_divider is |
generic ( |
G_DIVISOR : positive := 2 |
); |
port ( |
i_clk : in std_logic; |
i_rst : in std_logic; |
o_clk : out std_logic |
); |
end entity clock_divider; |
architecture behavioral of clock_divider is |
subtype t_counter is natural range 0 to ( G_DIVISOR - 1 ); |
signal s_counter : t_counter := 0; |
constant C_COUNTER : t_counter := G_DIVISOR / 2 - 1; |
signal s_clk_divided : std_logic; |
attribute clock_signal : string; |
attribute clock_signal of s_clk_divided : signal is "yes"; |
begin |
assert ( G_DIVISOR > 1 ) report "The divisor should be greater than 1" severity failure; |
counting : process( i_clk ) |
begin |
if( rising_edge(i_clk) ) then |
if( i_rst = '1' ) then |
s_counter <= 0; |
s_clk_divided <= '0'; |
else |
if( s_counter = t_counter'high ) then |
s_counter <= 0; |
s_clk_divided <= '0'; |
else |
s_counter <= s_counter + 1; |
if( s_counter = C_COUNTER ) then |
s_clk_divided <= '1'; |
end if; |
end if; |
end if; |
end if; |
end process counting; |
BUFR_inst : BUFR |
generic map ( |
BUFR_DIVIDE => "BYPASS", -- "BYPASS", "1", "2", "3", "4", "5", "6", "7", "8" |
SIM_DEVICE => "VIRTEX6") -- Specify target device, "VIRTEX4", "VIRTEX5", "VIRTEX6" |
port map ( |
O => o_clk, -- Clock buffer output |
CE => '1', -- Clock enable input |
CLR => '0', -- Clock buffer reset input |
I => s_clk_divided -- Clock buffer input |
); |
end architecture; |
/Designs/HAM Constructions/SDRX02B/HDL/modules/sychro1/up_counter.vhd |
---|
0,0 → 1,57 |
library ieee; |
use ieee.std_logic_1164.all; |
use ieee.numeric_std.all; |
entity up_counter is |
generic ( |
G_MIN_NUMBER : natural := 0; |
G_MAX_NUMBER : natural := 10 |
); |
port ( |
i_clk : in std_logic; |
i_rst : in std_logic; |
-- Count when this input is '1' |
i_valid : in std_logic; |
-- Output the actual number |
o_data : out natural := G_MIN_NUMBER; |
o_carry : out std_logic := '0' |
); |
end up_counter; |
architecture rtl of up_counter is |
signal number : natural range G_MIN_NUMBER to G_MAX_NUMBER := G_MIN_NUMBER; |
begin |
o_data <= number; |
counter : process( i_clk ) |
begin |
if( rising_edge( i_clk ) ) then |
o_carry <= '0'; |
if( i_rst = '1' ) then |
number <= G_MIN_NUMBER; |
elsif( i_valid = '1' ) then |
-- count up: |
if( number = G_MAX_NUMBER ) then |
number <= G_MIN_NUMBER; |
o_carry <= '1'; |
else |
number <= number + 1; |
end if; |
end if; |
end if; |
end process; |
end architecture; |
/Designs/HAM Constructions/SDRX02B/HDL/modules/sychro1/up_counter_stdlv.vhd |
---|
0,0 → 1,57 |
library ieee; |
use ieee.std_logic_1164.all; |
use ieee.numeric_std.all; |
entity up_counter_stdlv is |
generic ( |
G_BITS : positive := 8; |
G_MIN_NUMBER : std_logic_vector; |
G_MAX_NUMBER : std_logic_vector |
); |
port ( |
i_clk : in std_logic; |
i_rst : in std_logic; |
-- Count when this input is '1' |
i_valid : in std_logic; |
-- Output the actual number |
o_data : out std_logic_vector( G_BITS-1 downto 0 ); |
o_carry : out std_logic := '0' |
); |
end up_counter_stdlv; |
architecture rtl of up_counter_stdlv is |
signal number : std_logic_vector( G_BITS-1 downto 0 ); |
begin |
o_data <= number; |
counter : process( i_clk ) |
begin |
if( rising_edge( i_clk ) ) then |
o_carry <= '0'; |
if( i_rst = '1' ) then |
number <= G_MIN_NUMBER; |
elsif( i_valid = '1' ) then |
-- count up: |
if( number = G_MAX_NUMBER ) then |
number <= G_MIN_NUMBER; |
o_carry <= '1'; |
else |
number <= std_logic_vector( unsigned(number) + to_unsigned(1,G_BITS) ); |
end if; |
end if; |
end if; |
end process; |
end architecture; |
/Designs/HAM Constructions/SDRX02B/HDL/modules/xilly/xilly_userlogiccmp_wrapper.vhd |
---|
0,0 → 1,248 |
library ieee; |
use ieee.std_logic_1164.all; |
library fifo_related; |
entity xilly_userlogiccmp_wrapper is |
port ( |
i_clk : in std_logic; |
i_rst : in std_logic; |
user_r_control_r_rden : in std_logic; |
user_r_control_r_empty : out std_logic := '1'; |
user_r_control_r_data : out std_logic_vector(31 DOWNTO 0) := ( others => '0' ); |
user_w_control_w_wren : in std_logic; |
user_w_control_w_full : out std_logic := '0'; |
user_w_control_w_data : in std_logic_vector(31 DOWNTO 0); |
user_r_data1_r_rden : in std_logic; |
user_r_data1_r_empty : out std_logic := '1'; |
user_r_data1_r_data : out std_logic_vector(31 DOWNTO 0) := ( others => '0' ); |
user_w_data1_w_wren : in std_logic; |
user_w_data1_w_full : out std_logic := '0'; |
user_w_data1_w_data : in std_logic_vector(31 DOWNTO 0); |
user_r_data2_r_rden : in std_logic; |
user_r_data2_r_empty : out std_logic := '1'; |
user_r_data2_r_data : out std_logic_vector(31 DOWNTO 0) := ( others => '0' ); |
user_w_data2_w_wren : in std_logic; |
user_w_data2_w_full : out std_logic := '0'; |
user_w_data2_w_data : in std_logic_vector(31 DOWNTO 0) |
); |
end entity; |
architecture behavioral of xilly_userlogiccmp_wrapper is |
component user_logic_cmp |
port ( |
i_clk : in std_logic; |
i_rst : in std_logic; |
-- data1 interface: |
i_data1in_data : in std_logic_vector( 31 downto 0 ); |
i_data1in_valid : in std_logic; |
o_data1in_enable : out std_logic; |
o_data1out_data : out std_logic_vector( 31 downto 0 ); |
o_data1out_valid : out std_logic; |
i_data1out_enable : in std_logic; |
-- data2 interface: |
i_data2in_data : in std_logic_vector( 31 downto 0 ); |
i_data2in_valid : in std_logic; |
o_data2in_enable : out std_logic := '1'; |
o_data2out_data : out std_logic_vector( 31 downto 0 ); |
o_data2out_valid : out std_logic := '0'; |
i_data2out_enable : in std_logic; |
-- control interface: |
i_controlin_data : in std_logic_vector( 31 downto 0 ); |
i_controlin_valid : in std_logic; |
o_controlin_enable : out std_logic := '1'; |
o_controlout_data : out std_logic_vector( 31 downto 0 ); |
o_controlout_valid : out std_logic := '0'; |
i_controlout_enable : in std_logic |
); |
end component; |
component fifo_32x512 |
port ( |
clk: IN std_logic; |
srst: IN std_logic; |
din: IN std_logic_vector(31 downto 0) := ( others => '0' ); |
wr_en: IN std_logic := '0'; |
rd_en: IN std_logic; |
dout: OUT std_logic_vector(31 downto 0); |
valid: OUT std_logic; |
full: OUT std_logic; |
empty: OUT std_logic |
); |
end component; |
-- data1 signals |
signal s_data1_ffin2fte_data : std_logic_vector( 31 downto 0 ); |
signal s_data1_ffin2fte_rden : std_logic; |
signal s_data1_ffin2fte_empty : std_logic; |
signal s_data1_fte2ul_data : std_logic_vector( 31 downto 0 ); |
signal s_data1_fte2ul_valid : std_logic; |
signal s_data1_fte2ul_enable : std_logic; |
signal s_data1_ul2ffout_data : std_logic_vector( 31 downto 0 ); |
signal s_data1_ul2ffout_valid : std_logic; |
signal s_data1_ul2ffout_enable : std_logic; |
signal s_data1_ul2ffout_full : std_logic; |
-- data2 signals |
signal s_data2_ffin2fte_data : std_logic_vector( 31 downto 0 ); |
signal s_data2_ffin2fte_rden : std_logic; |
signal s_data2_ffin2fte_empty : std_logic; |
signal s_data2_fte2ul_data : std_logic_vector( 31 downto 0 ); |
signal s_data2_fte2ul_valid : std_logic; |
signal s_data2_fte2ul_enable : std_logic; |
signal s_data2_ul2ffout_data : std_logic_vector( 31 downto 0 ); |
signal s_data2_ul2ffout_valid : std_logic; |
signal s_data2_ul2ffout_enable : std_logic; |
signal s_data2_ul2ffout_full : std_logic; |
-- control signals |
signal s_control_ffin2fte_data : std_logic_vector( 31 downto 0 ); |
signal s_control_ffin2fte_rden : std_logic; |
signal s_control_ffin2fte_empty : std_logic; |
signal s_control_fte2ul_data : std_logic_vector( 31 downto 0 ); |
signal s_control_fte2ul_valid : std_logic; |
signal s_control_fte2ul_enable : std_logic; |
signal s_control_ul2ffout_data : std_logic_vector( 31 downto 0 ); |
signal s_control_ul2ffout_valid : std_logic; |
signal s_control_ul2ffout_enable : std_logic; |
signal s_control_ul2ffout_full : std_logic; |
begin |
------------------------------------------------------ |
--data1_gen : if( C_USES_DATA1_INTERFACE = '1' ) generate |
-- FIFO_IN instantiation: |
data1_fifo_in_inst : fifo_32x512 |
port map ( |
clk => i_clk, srst => i_rst, |
din => user_w_data1_w_data, wr_en => user_w_data1_w_wren, full => user_w_data1_w_full, |
dout => s_data1_ffin2fte_data, rd_en => s_data1_ffin2fte_rden, empty => s_data1_ffin2fte_empty, |
valid => open ); |
-- FIFO_to_enable instantiation: |
data1_fifo_to_enable_inst : entity fifo_related.fifo_to_enable |
port map ( |
clk => i_clk, reset => i_rst, |
din => s_data1_ffin2fte_data, rden => s_data1_ffin2fte_rden, empty => s_data1_ffin2fte_empty, |
data => s_data1_fte2ul_data, valid => s_data1_fte2ul_valid, enable => s_data1_fte2ul_enable ); |
-- FIFO_OUT instantiation: |
data1_fifo_out_inst : fifo_32x512 |
port map ( |
clk => i_clk, srst => i_rst, |
din => s_data1_ul2ffout_data, wr_en => s_data1_ul2ffout_valid, full => s_data1_ul2ffout_full, |
dout => user_r_data1_r_data, rd_en => user_r_data1_r_rden, empty => user_r_data1_r_empty, |
valid => open ); |
s_data1_ul2ffout_enable <= not s_data1_ul2ffout_full; |
-- generate; |
------------------------------------------------------ |
--data2_gen : if( C_USES_DATA2_INTERFACE = '1' ) generate |
-- FIFO_IN instantiation: |
data2_fifo_in_inst : fifo_32x512 |
port map ( |
clk => i_clk, srst => i_rst, |
din => user_w_data2_w_data, wr_en => user_w_data2_w_wren, full => user_w_data2_w_full, |
dout => s_data2_ffin2fte_data, rd_en => s_data2_ffin2fte_rden, empty => s_data2_ffin2fte_empty, |
valid => open ); |
-- FIFO_to_enable instantiation: |
data2_fifo_to_enable_inst : entity fifo_related.fifo_to_enable |
port map ( |
clk => i_clk, reset => i_rst, |
din => s_data2_ffin2fte_data, rden => s_data2_ffin2fte_rden, empty => s_data2_ffin2fte_empty, |
data => s_data2_fte2ul_data, valid => s_data2_fte2ul_valid, enable => s_data2_fte2ul_enable ); |
-- FIFO_OUT instantiation: |
data2_fifo_out_inst : fifo_32x512 |
port map ( |
clk => i_clk, srst => i_rst, |
din => s_data2_ul2ffout_data, wr_en => s_data2_ul2ffout_valid, full => s_data2_ul2ffout_full, |
dout => user_r_data2_r_data, rd_en => user_r_data2_r_rden, empty => user_r_data2_r_empty, |
valid => open ); |
s_data2_ul2ffout_enable <= not s_data2_ul2ffout_full; |
--end generate; |
---------------------------------------------------------- |
--control_gen : if( C_USES_CONTROL_INTERFACE = '1' ) generate |
-- FIFO_IN instantiation: |
control_fifo_in_inst : fifo_32x512 |
port map ( |
clk => i_clk, srst => i_rst, |
din => user_w_control_w_data, wr_en => user_w_control_w_wren, full => user_w_control_w_full, |
dout => s_control_ffin2fte_data, rd_en => s_control_ffin2fte_rden, empty => s_control_ffin2fte_empty, |
valid => open ); |
-- FIFO_to_enable instantiation: |
control_fifo_to_enable_inst : entity fifo_related.fifo_to_enable |
port map ( |
clk => i_clk, reset => i_rst, |
din => s_control_ffin2fte_data, rden => s_control_ffin2fte_rden, empty => s_control_ffin2fte_empty, |
data => s_control_fte2ul_data, valid => s_control_fte2ul_valid, enable => s_control_fte2ul_enable ); |
-- FIFO_OUT instantiation: |
control_fifo_out_inst : fifo_32x512 |
port map ( |
clk => i_clk, srst => i_rst, |
din => s_control_ul2ffout_data, wr_en => s_control_ul2ffout_valid, full => s_control_ul2ffout_full, |
dout => user_r_control_r_data, rd_en => user_r_control_r_rden, empty => user_r_control_r_empty, |
valid => open ); |
s_control_ul2ffout_enable <= not s_control_ul2ffout_full; |
--end generate; |
-------------------------------------------------------------- |
-- user logic: |
user_logic_cmp_inst : user_logic_cmp |
port map ( |
i_clk => i_clk, |
i_rst => i_rst, |
-- data1 interface: |
i_data1in_data => s_data1_fte2ul_data, |
i_data1in_valid => s_data1_fte2ul_valid, |
o_data1in_enable => s_data1_fte2ul_enable, |
o_data1out_data => s_data1_ul2ffout_data, |
o_data1out_valid => s_data1_ul2ffout_valid, |
i_data1out_enable => s_data1_ul2ffout_enable, |
-- data2 interface: |
i_data2in_data => s_data2_fte2ul_data, |
i_data2in_valid => s_data2_fte2ul_valid, |
o_data2in_enable => s_data2_fte2ul_enable, |
o_data2out_data => s_data2_ul2ffout_data, |
o_data2out_valid => s_data2_ul2ffout_valid, |
i_data2out_enable => s_data2_ul2ffout_enable, |
-- control interface: |
i_controlin_data => s_control_fte2ul_data, |
i_controlin_valid => s_control_fte2ul_valid, |
o_controlin_enable => s_control_fte2ul_enable, |
o_controlout_data => s_control_ul2ffout_data, |
o_controlout_valid => s_control_ul2ffout_valid, |
i_controlout_enable => s_control_ul2ffout_enable |
); |
end architecture; |
/Designs/HAM Constructions/SDRX02B/HDL/project_src/bitslip_compensation.vhd |
---|
0,0 → 1,116 |
--------------------------------------------- |
-- internal bitslip in iserdes works only with 8 bits. It may happen that when we make a 16-bit word from them, |
-- internal bitslip is correct, but we need to swap the whole bytes. -> o_bitslip_swap_bytes |
-- |
-- NOTE: swapping bytes is wrong, because that means we're grabbing when frame is "00FF". That suggests, that |
-- we're using LSbyte from previous sample and MSbyte from current sample. It is correct to drop the byte, to have the frame signal "FF00" |
-- |
-- However, the bytes are not swapped, i.e. LSbyte is still LSbyte. They just do not come from the same sample. |
library ieee; |
use ieee.std_logic_1164.all; |
library UNISIM; |
use UNISIM.vcomponents.all; |
--library utilities; |
entity bitslip_compensation is |
port ( |
clk : in std_logic; |
rst : in std_logic; |
i_data : in std_logic_vector( 15 downto 0 ); |
i_valid : in std_logic; |
o_bitslip : out std_logic; |
o_bitslip_done : out std_logic; |
o_bitslip_drop_byte : out std_logic; |
o_bitslip_failed : out std_logic |
); |
end bitslip_compensation; |
architecture behavioral of bitslip_compensation is |
component swap_endianness |
port ( |
i_data : in std_logic_vector; |
o_data : out std_logic_vector |
); |
end component; |
constant C_BITSLIP_FRAME_TRAINING_PATTERN : std_logic_vector( 15 downto 0 ) := X"FF00"; |
-- wait a while before bitslipping again |
subtype t_counter_busy is natural range 0 to 5; -- in theory 2 is enough |
signal s_counter_busy : t_counter_busy := 0; |
-- count the number of bitslip attempts |
subtype t_counter_attempts is natural range 0 to 9; |
signal s_counter_attempts : t_counter_attempts := 0; |
signal s_i_data_bytes_swapped : std_logic_vector( 15 downto 0 ); |
signal s_bitslip_done : std_logic; |
signal s_bitslip_failed : std_logic; |
begin |
swap_endianness_inst : swap_endianness |
port map( i_data => i_data, o_data => s_i_data_bytes_swapped ); |
o_bitslip_done <= s_bitslip_done; |
o_bitslip_failed <= s_bitslip_failed; |
main_process : process( clk ) |
begin |
if( rising_edge(clk) ) then |
o_bitslip <= '0'; |
o_bitslip_drop_byte <= '0'; |
if( rst = '1' ) then |
-- reset |
s_counter_busy <= t_counter_busy'high; |
s_counter_attempts <= 0; |
s_bitslip_done <= '0'; |
s_bitslip_failed <= '0'; |
elsif( s_bitslip_done = '1' or s_bitslip_failed = '1' ) then |
-- do nothing, the bitslip has already been determined. |
elsif( i_valid = '1' and s_counter_busy > 0 ) then |
-- we are busy now, do not do anything |
s_counter_busy <= s_counter_busy - 1; |
elsif( i_valid = '1' and s_counter_busy = 0 and i_data = C_BITSLIP_FRAME_TRAINING_PATTERN ) then |
-- we are not busy and the incoming pattern matches the training pattern. |
s_bitslip_done <= '1'; |
elsif( i_valid = '1' and s_counter_busy = 0 and s_i_data_bytes_swapped = C_BITSLIP_FRAME_TRAINING_PATTERN ) then |
-- we are not busy and the incoming pattern matches the training pattern if we swap its bytes: |
-- drop the byte and start over. |
o_bitslip_drop_byte <= '1'; |
s_counter_busy <= t_counter_busy'high; |
elsif( i_valid = '1' and s_counter_busy = 0 and s_counter_attempts < t_counter_attempts'high ) then |
-- we are not busy, we may bitslip again and the incoming pattern does not match. |
s_counter_attempts <= s_counter_attempts + 1; |
s_counter_busy <= t_counter_busy'high; |
o_bitslip <= '1'; |
elsif( i_valid = '1' and s_counter_busy = 0 and s_counter_attempts = t_counter_attempts'high ) then |
-- we are not busy, but we do not have another attempt and the pattern still does not match. |
s_bitslip_failed <= '1'; |
end if; |
end if; |
end process; |
end architecture; |
/Designs/HAM Constructions/SDRX02B/HDL/project_src/glue_data.vhd |
---|
0,0 → 1,60 |
--------------------------------------------- |
-- glue incoming data (from MSB position) |
-- |
-- in: D1, D2, D3, D4... |
-- out: D1D2, D3D4... |
-- |
-- |
-- NOTE: hardwired for 8 + 8, beware if changing dimensions. swap_endianness only works on 8-bits |
library ieee; |
use ieee.std_logic_1164.all; |
library utilities; |
entity glue_data is |
port ( |
i_clk : in std_logic; |
i_reset_n : in std_logic; |
i_data : in std_logic_vector( 7 downto 0 ); |
i_valid : in std_logic; |
o_enable : out std_logic; |
o_data : out std_logic_vector( 15 downto 0 ); |
o_valid : out std_logic; |
i_enable : in std_logic |
); |
end glue_data; |
architecture behavioral of glue_data is |
component swap_endianness |
port ( |
i_data : in std_logic_vector; |
o_data : out std_logic_vector |
); |
end component; |
signal s_rst_n : std_logic; |
signal s_packed_data : std_logic_vector( 15 downto 0 ); |
begin |
-- pack data: |
pack_data_inst : entity utilities.pack_data |
generic map ( G_OUTPUT_WIDTH => 16 ) |
port map ( |
i_clk => i_clk, i_reset_n => i_reset_n, |
i_data => i_data, i_valid => i_valid, o_enable => o_enable, |
o_data => s_packed_data, o_valid => o_valid, i_enable => i_enable ); |
-- and swap the bytes to have the first to come on MSB: |
swap_endianness_inst : swap_endianness |
port map( i_data => s_packed_data, o_data => o_data ); |
end architecture; |
/Designs/HAM Constructions/SDRX02B/HDL/project_src/information_data.vhd |
---|
0,0 → 1,18 |
library ieee; |
use ieee.std_logic_1164.all; |
use ieee.numeric_std.all; |
library kakona; |
use kakona.kakona_package.all; |
package information_data is |
-- Size: |
constant C_INFO_BITWIDTH : natural := C_KAK_INFO_BITWIDTH; -- not to be changed |
constant C_INFO_NUMDATA : natural := 4; |
-- Contents: |
constant C_INFO_DATA : std_logic_vector( C_INFO_BITWIDTH*C_INFO_NUMDATA - 1 downto 0 ) := C_GUID; |
end package; |
/Designs/HAM Constructions/SDRX02B/HDL/project_src/iserdes_clock_generator.vhd |
---|
0,0 → 1,115 |
-- file: selectio_iserdes_8bit_ddr_diffin.vhd |
-- (c) Copyright 2009 - 2011 Xilinx, Inc. All rights reserved. |
-- |
-- This file contains confidential and proprietary information |
-- of Xilinx, Inc. and is protected under U.S. and |
-- international copyright and other intellectual property |
-- laws. |
-- |
-- DISCLAIMER |
-- This disclaimer is not a license and does not grant any |
-- rights to the materials distributed herewith. Except as |
-- otherwise provided in a valid license issued to you by |
-- Xilinx, and to the maximum extent permitted by applicable |
-- law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND |
-- WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES |
-- AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING |
-- BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON- |
-- INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and |
-- (2) Xilinx shall not be liable (whether in contract or tort, |
-- including negligence, or under any other theory of |
-- liability) for any loss or damage of any kind or nature |
-- related to, arising under or in connection with these |
-- materials, including for any direct, or any indirect, |
-- special, incidental, or consequential loss or damage |
-- (including loss of data, profits, goodwill, or any type of |
-- loss or damage suffered as a result of any action brought |
-- by a third party) even if such damage or loss was |
-- reasonably foreseeable or Xilinx had been advised of the |
-- possibility of the same. |
-- |
-- CRITICAL APPLICATIONS |
-- Xilinx products are not designed or intended to be fail- |
-- safe, or for use in any application requiring fail-safe |
-- performance, such as life-support or safety devices or |
-- systems, Class III medical devices, nuclear facilities, |
-- applications related to the deployment of airbags, or any |
-- other applications that could lead to death, personal |
-- injury, or severe property or environmental damage |
-- (individually and collectively, "Critical |
-- Applications"). Customer assumes the sole risk and |
-- liability of any use of Xilinx products in Critical |
-- Applications, subject only to applicable laws and |
-- regulations governing limitations on product liability. |
-- |
-- THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS |
-- PART OF THIS FILE AT ALL TIMES. |
------------------------------------------------------------------------------ |
-- User entered comments |
------------------------------------------------------------------------------ |
-- None |
------------------------------------------------------------------------------ |
-- |
-- EDIT: Only the clock generator buffers here |
library ieee; |
use ieee.std_logic_1164.all; |
use ieee.std_logic_unsigned.all; |
use ieee.std_logic_arith.all; |
use ieee.std_logic_misc.all; |
use ieee.numeric_std.all; |
library unisim; |
use unisim.vcomponents.all; |
entity iserdes_clock_generator is |
port |
( |
-- Clock and reset signals |
CLK_IN_P : in std_logic; -- Differential fast clock from IOB |
CLK_IN_N : in std_logic; |
CLK_OUT : out std_logic; -- Fast clock output (synchronous to data) |
CLK_DIV_OUT : out std_logic; -- Slow clock output |
CLK_RESET : in std_logic); -- Reset signal for Clock circuit |
end iserdes_clock_generator; |
architecture sychro1 of iserdes_clock_generator is |
signal clk_in_int : std_logic; |
begin |
-- Create the clock logic |
ibufds_clk_inst : IBUFGDS |
generic map ( |
DIFF_TERM => TRUE, |
IOSTANDARD => "LVDS_25" ) |
port map ( |
I => CLK_IN_P, |
IB => CLK_IN_N, |
O => clk_in_int); |
-- High Speed BUFIO clock buffer |
bufio_inst : BUFIO |
port map ( |
O => CLK_OUT, |
I => clk_in_int); |
-- BUFR generates the slow clock |
clkout_buf_inst : BUFR |
generic map ( |
SIM_DEVICE => "VIRTEX6", |
BUFR_DIVIDE => "4") |
port map ( |
O => CLK_DIV_OUT, |
CE => '1', |
CLR => CLK_RESET, |
I => clk_in_int ); |
end sychro1; |
/Designs/HAM Constructions/SDRX02B/HDL/project_src/kakona_package.vhd |
---|
0,0 → 1,58 |
library IEEE; |
use IEEE.STD_LOGIC_1164.all; |
use IEEE.numeric_std.all; |
package kakona_package is |
-- information block constants: |
-- Size: |
constant C_KAK_INFO_BITWIDTH : natural := 32; -- not to be changed |
constant C_GUID : std_logic_vector( 4*C_KAK_INFO_BITWIDTH - 1 downto 0 ) := X"D52900BA62BC431DBB38C1D38551887A"; -- 1-lane |
constant C_NUM_INPUT_ADC_MODULES : natural := 2; -- for SPI block |
constant C_NUM_INPUT_ADC_DATA_PORTS : natural := 4; -- for processing block generate |
-- configuration for the SPI transmitter for ADCs: |
-- SPI DATA version 1: |
constant C_SPI_ADC1_DATA1 : std_logic_vector( 79 downto 0 ) := X"00" & "10000000" & -- software reset |
X"01" & "00100000" & -- two's complement enabled |
X"02" & "00000010" & -- 3.5mA LVDS driver, test pattern off, 1-lane |
X"03" & "10010110" & -- test pattern msb '96' |
X"04" & "11110010"; -- test pattern lsb 'F2' |
constant C_SPI_ADC2_DATA1 : std_logic_vector( 79 downto 0 ) := X"00" & "10000000" & -- software reset |
X"01" & "00100000" & -- two's complement enabled |
X"02" & "00000010" & -- 3.5mA LVDS driver, test pattern off, 1-lane |
X"03" & "11111111" & -- test pattern msb 'FF' |
X"04" & "00000000"; -- test pattern lsb '00' |
constant C_SPI_ADC_DATA1 : std_logic_vector( C_SPI_ADC1_DATA1'length + C_SPI_ADC2_DATA1'length - 1 downto 0 ) := C_SPI_ADC1_DATA1 & C_SPI_ADC2_DATA1; |
-- SPI DATA version 2: |
-- difference: test pattern on. |
constant C_SPI_ADC1_DATA2 : std_logic_vector( 79 downto 0 ) := X"00" & "10000000" & -- software reset |
X"01" & "00100000" & -- two's complement enabled |
X"02" & "00000110" & -- 3.5mA LVDS driver, test pattern on, 1-lane |
X"03" & "10010110" & -- test pattern msb '96' |
X"04" & "11110010"; -- test pattern lsb 'F2' |
constant C_SPI_ADC2_DATA2 : std_logic_vector( 79 downto 0 ) := X"00" & "10000000" & -- software reset |
X"01" & "00100000" & -- two's complement enabled |
X"02" & "00000110" & -- 3.5mA LVDS driver, test pattern on, 1-lane |
X"03" & "11111110" & -- test pattern msb 'FE' |
X"04" & "11111111"; -- test pattern lsb 'FF' |
constant C_SPI_ADC_DATA2 : std_logic_vector( C_SPI_ADC1_DATA2'length + C_SPI_ADC2_DATA2'length - 1 downto 0 ) := C_SPI_ADC1_DATA2 & C_SPI_ADC2_DATA2; |
constant C_SPI_ADC_LENGTH : integer := 16; |
constant C_SPI_ADC_PACKETS : integer := 5; |
constant C_SPI_ADC_PAUSE : integer := 300; |
-- definition of swapped P&N wires: |
constant C_FRAME_WIRES_SWAPPED_PN : std_logic := '1'; |
-- definition of swapped P&N wires in data lines. Direction conforms to .ucf file array. |
constant C_DATA_WIRES_SWAPPED_PN : std_logic_vector( 0 to 3 ) := "0101"; |
end package; |
package body kakona_package is |
end package body; |
/Designs/HAM Constructions/SDRX02B/HDL/project_src/lo_divider_wrapper.vhd |
---|
0,0 → 1,86 |
-------------------------------------------- |
-- wrapper for the local oscillator division logic |
-- |
library ieee; |
use ieee.std_logic_1164.all; |
library UNISIM; |
use UNISIM.vcomponents.all; |
library sychro1; |
entity lo_divider_wrapper is |
generic ( |
G_DIVISOR : integer |
); |
port ( |
-- input clock: |
IN_CLK_LO_N : IN std_logic; |
IN_CLK_LO_P : IN std_logic; |
in_clk_enable : in std_logic; |
-- divided clock |
OUT_CLK_LO_DIVIDED_N : OUT std_logic; |
OUT_CLK_LO_DIVIDED_P : OUT std_logic |
); |
end lo_divider_wrapper; |
architecture behavioral of lo_divider_wrapper is |
-- clock signals for in->divide->out clock: |
signal s_in_clk_lo : std_logic; |
signal s_in_clk_lo_bufred : std_logic; |
signal s_divided_lo : std_logic; |
attribute clock_signal : string; |
attribute clock_signal of s_divided_lo : signal is "yes"; |
begin |
IBUFGDS_inst : IBUFGDS |
generic map ( |
DIFF_TERM => TRUE |
--IBUF_LOW_PWR => TRUE -- Low power (TRUE) vs. performance (FALSE) setting for refernced I/O standards |
) |
port map ( |
O => s_in_clk_lo, -- Clock buffer output |
I => IN_CLK_LO_P, -- Diff_p clock buffer input (connect directly to top-level port) |
IB => IN_CLK_LO_N -- Diff_n clock buffer input (connect directly to top-level port) |
); |
-- TEST2: misto counteru pouziju deleni v BUFR |
BUFR_inst : BUFR |
generic map ( |
BUFR_DIVIDE => "BYPASS", -- "BYPASS", "1", "2", "3", "4", "5", "6", "7", "8" |
SIM_DEVICE => "VIRTEX6") -- Specify target device, "VIRTEX4", "VIRTEX5", "VIRTEX6" |
port map ( |
O => s_in_clk_lo_bufred, -- Clock buffer output |
CE => in_clk_enable, -- Clock enable input |
CLR => '0', -- Clock buffer reset input |
I => s_in_clk_lo -- Clock buffer input |
); |
-- TEST3: opravil jsem clock_divider, zkusim ho sem dat zpatky |
-- -> BUFR -> BYPASS |
-- zpatky clock_divider |
-- TEMP1: vyhozeni counteru |
divider_inst : entity sychro1.clock_divider |
generic map( G_DIVISOR => G_DIVISOR ) |
port map( i_clk => s_in_clk_lo_bufred, i_rst => '0', o_clk => s_divided_lo ); |
--s_divided_lo <= s_in_clk_lo_bufred; |
OBUFDS_inst : OBUFDS |
generic map ( |
IOSTANDARD => "DEFAULT" ) |
port map ( |
O => OUT_CLK_LO_DIVIDED_P, -- Diff_p output (connect directly to top-level port) |
OB => OUT_CLK_LO_DIVIDED_N, -- Diff_n output (connect directly to top-level port) |
I => s_divided_lo -- Buffer input |
); |
end architecture; |
/Designs/HAM Constructions/SDRX02B/HDL/project_src/multiplexer_from_fifos.vhd |
---|
0,0 → 1,92 |
-------------------------------------------- |
-- Multiplexer from FIFOs |
-- |
-- Waits until all i_valid signals are asserted. Then, if i_full == '0', cycles through all inputs and puts them to output. |
-- If at that time i_full == '1', all the inputs are discarded. |
library ieee; |
use ieee.std_logic_1164.all; |
entity multiplexer_from_fifos is |
generic |
( G_NUM_CHANNELS : natural := 2; -- number of channels |
G_DATA_WIDTH : natural := 32 -- data width of individual packets |
); |
port ( |
clk : in std_logic; |
rst : in std_logic; |
-- input side |
i_data : in std_logic_vector( G_DATA_WIDTH*G_NUM_CHANNELS - 1 downto 0 ); |
i_valid : in std_logic_vector( G_NUM_CHANNELS - 1 downto 0 ); |
o_rden : out std_logic_vector( G_NUM_CHANNELS - 1 downto 0 ); |
-- output side |
o_data : out std_logic_vector( G_DATA_WIDTH - 1 downto 0 ); |
o_valid : out std_logic; |
i_full : in std_logic |
); |
end multiplexer_from_fifos; |
architecture behavioral of multiplexer_from_fifos is |
subtype t_counter is natural range 0 to G_NUM_CHANNELS; |
signal s_counter : t_counter := 0; |
signal s_all_i_valid : std_logic; |
signal s_drop_data : std_logic; |
begin |
assert( G_NUM_CHANNELS > 1 ) report "The number of channels must be higher than 1." severity failure; |
s_all_i_valid <= '1' when i_valid = ( i_valid'range => '1' ) else |
'0'; |
counter_process : process( clk ) |
begin |
if( rising_edge( clk ) ) then |
s_drop_data <= '0'; |
if( rst = '1' ) then |
-- reset |
s_counter <= 0; |
elsif( s_counter = 0 and s_all_i_valid = '1' and i_full = '0' and s_drop_data = '0' ) then |
-- counter is stopped, i_data have new data and the following FIFO is ready to receive. |
-- start the counter. |
s_counter <= 1; |
elsif( s_counter = 0 and s_all_i_valid = '1' and i_full = '1' ) then |
-- discard the complete set of data because the following FIFO is full. |
s_drop_data <= '1'; |
elsif( s_counter > 0 and s_counter < t_counter'high ) then |
-- the counter is running and is somewhere in between, just increase the value. |
s_counter <= s_counter + 1; |
elsif( s_counter = t_counter'high and s_all_i_valid = '1' and i_full = '0' ) then |
-- the counter has reached maximum value and there are new data waiting |
-- start the counter right away |
s_counter <= 1; |
else |
-- stop the counter |
s_counter <= 0; |
end if; |
end if; |
end process; |
---------------------------------------------- |
-- OUTPUT SIGNALS: |
o_data <= i_data( G_DATA_WIDTH*s_counter - 1 downto G_DATA_WIDTH*s_counter - G_DATA_WIDTH ) when s_counter > 0 and rst = '0' else |
( others => '0' ); |
o_valid <= i_valid( s_counter - 1 ) when s_counter > 0 and rst = '0' else |
'0'; |
o_rden_gen : for i in 0 to G_NUM_CHANNELS - 1 generate |
o_rden(i) <= '1' when ( s_counter = i + 1 or s_drop_data = '1' ) and i_valid(i) = '1' else |
'0'; |
end generate; |
---------------------------------------------- |
end architecture; |
/Designs/HAM Constructions/SDRX02B/HDL/project_src/myserdes_ddr.vhd |
---|
0,0 → 1,247 |
-- file: selectio_iserdes_8bit_ddr_diffin.vhd |
-- (c) Copyright 2009 - 2011 Xilinx, Inc. All rights reserved. |
-- |
-- This file contains confidential and proprietary information |
-- of Xilinx, Inc. and is protected under U.S. and |
-- international copyright and other intellectual property |
-- laws. |
-- |
-- DISCLAIMER |
-- This disclaimer is not a license and does not grant any |
-- rights to the materials distributed herewith. Except as |
-- otherwise provided in a valid license issued to you by |
-- Xilinx, and to the maximum extent permitted by applicable |
-- law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND |
-- WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES |
-- AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING |
-- BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON- |
-- INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and |
-- (2) Xilinx shall not be liable (whether in contract or tort, |
-- including negligence, or under any other theory of |
-- liability) for any loss or damage of any kind or nature |
-- related to, arising under or in connection with these |
-- materials, including for any direct, or any indirect, |
-- special, incidental, or consequential loss or damage |
-- (including loss of data, profits, goodwill, or any type of |
-- loss or damage suffered as a result of any action brought |
-- by a third party) even if such damage or loss was |
-- reasonably foreseeable or Xilinx had been advised of the |
-- possibility of the same. |
-- |
-- CRITICAL APPLICATIONS |
-- Xilinx products are not designed or intended to be fail- |
-- safe, or for use in any application requiring fail-safe |
-- performance, such as life-support or safety devices or |
-- systems, Class III medical devices, nuclear facilities, |
-- applications related to the deployment of airbags, or any |
-- other applications that could lead to death, personal |
-- injury, or severe property or environmental damage |
-- (individually and collectively, "Critical |
-- Applications"). Customer assumes the sole risk and |
-- liability of any use of Xilinx products in Critical |
-- Applications, subject only to applicable laws and |
-- regulations governing limitations on product liability. |
-- |
-- THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS |
-- PART OF THIS FILE AT ALL TIMES. |
------------------------------------------------------------------------------ |
-- User entered comments |
------------------------------------------------------------------------------ |
-- None |
------------------------------------------------------------------------------ |
-- |
-- EDIT: the clocking logic has been moved outside |
library ieee; |
use ieee.std_logic_1164.all; |
use ieee.std_logic_unsigned.all; |
use ieee.std_logic_arith.all; |
use ieee.std_logic_misc.all; |
use ieee.numeric_std.all; |
library unisim; |
use unisim.vcomponents.all; |
entity myserdes_ddr is |
generic |
(-- width of the data for the system |
sys_w : integer := 1; |
-- width of the data for the device |
dev_w : integer := 8); |
port |
( |
-- From the system into the device |
DATA_IN_FROM_PINS_P : in std_logic_vector(sys_w-1 downto 0); |
DATA_IN_FROM_PINS_N : in std_logic_vector(sys_w-1 downto 0); |
DATA_IN_TO_DEVICE : out std_logic_vector(dev_w-1 downto 0); |
BITSLIP : in std_logic; -- Bitslip module is enabled in NETWORKING mode |
-- User should tie it to '0' if not needed |
-- Clock and reset signals |
CLK_IN : in std_logic; -- Fast clock from IOB, after IBUFGDS and BUFIO |
CLK_DIV_IN : in std_logic; -- Divided fast clock from IBUFGDS and BUFR |
IO_RESET : in std_logic); -- Reset signal for IO circuit |
end myserdes_ddr; |
architecture xilinx of myserdes_ddr is |
attribute CORE_GENERATION_INFO : string; |
attribute CORE_GENERATION_INFO of xilinx : architecture is "selectio_iserdes_8bit_ddr_diffin,selectio_wiz_v4_1,{component_name=selectio_iserdes_8bit_ddr_diffin,bus_dir=INPUTS,bus_sig_type=DIFF,bus_io_std=LVDS_25,use_serialization=true,use_phase_detector=false,serialization_factor=8,enable_bitslip=false,enable_train=false,system_data_width=1,bus_in_delay=NONE,bus_out_delay=NONE,clk_sig_type=DIFF,clk_io_std=LVCMOS18,clk_buf=BUFIO2,active_edge=RISING,clk_delay=NONE,v6_bus_in_delay=NONE,v6_bus_out_delay=NONE,v6_clk_buf=BUFIO,v6_active_edge=DDR,v6_ddr_alignment=SAME_EDGE_PIPELINED,v6_oddr_alignment=SAME_EDGE,ddr_alignment=C0,v6_interface_type=NETWORKING,interface_type=NETWORKING,v6_bus_in_tap=0,v6_bus_out_tap=0,v6_clk_io_std=LVDS_25,v6_clk_sig_type=DIFF}"; |
constant clock_enable : std_logic := '1'; |
signal unused : std_logic; |
-- After the buffer |
signal data_in_from_pins_int : std_logic_vector(sys_w-1 downto 0); |
-- Between the delay and serdes |
signal data_in_from_pins_delay : std_logic_vector(sys_w-1 downto 0); |
constant num_serial_bits : integer := dev_w/sys_w; |
type serdarr is array (0 to 9) of std_logic_vector(sys_w-1 downto 0); |
-- Array to use intermediately from the serdes to the internal |
-- devices. bus "0" is the leftmost bus |
-- * fills in starting with 0 |
signal iserdes_q : serdarr := (( others => (others => '0'))); |
signal serdesstrobe : std_logic; |
signal icascade1 : std_logic_vector(sys_w-1 downto 0); |
signal icascade2 : std_logic_vector(sys_w-1 downto 0); |
signal clk_in_inv : std_logic; |
begin |
-- We have multiple bits- step over every bit, instantiating the required elements |
pins: for pin_count in 0 to sys_w-1 generate |
begin |
-- Instantiate the buffers |
---------------------------------- |
-- Instantiate a buffer for every bit of the data bus |
ibufds_inst : IBUFDS |
generic map ( |
DIFF_TERM => TRUE, -- Differential termination |
IOSTANDARD => "LVDS_25") |
port map ( |
I => DATA_IN_FROM_PINS_P (pin_count), |
IB => DATA_IN_FROM_PINS_N (pin_count), |
O => data_in_from_pins_int(pin_count)); |
-- Pass through the delay |
----------------------------------- |
data_in_from_pins_delay(pin_count) <= data_in_from_pins_int(pin_count); |
-- Instantiate the serdes primitive |
---------------------------------- |
clk_in_inv <= not (CLK_IN); |
-- declare the iserdes |
iserdese1_master : ISERDESE1 |
generic map ( |
DATA_RATE => "DDR", |
DATA_WIDTH => 8, |
INTERFACE_TYPE => "NETWORKING", |
DYN_CLKDIV_INV_EN => FALSE, |
DYN_CLK_INV_EN => FALSE, |
NUM_CE => 2, |
OFB_USED => FALSE, |
IOBDELAY => "NONE", -- Use input at D to output the data on Q1-Q6 |
SERDES_MODE => "MASTER") |
port map ( |
Q1 => iserdes_q(0)(pin_count), |
Q2 => iserdes_q(1)(pin_count), |
Q3 => iserdes_q(2)(pin_count), |
Q4 => iserdes_q(3)(pin_count), |
Q5 => iserdes_q(4)(pin_count), |
Q6 => iserdes_q(5)(pin_count), |
SHIFTOUT1 => icascade1(pin_count), -- Cascade connection to Slave ISERDES |
SHIFTOUT2 => icascade2(pin_count), -- Cascade connection to Slave ISERDES |
BITSLIP => BITSLIP, -- 1-bit Invoke Bitslip. This can be used with any |
-- DATA_WIDTH, cascaded or not. |
CE1 => clock_enable, -- 1-bit Clock enable input |
CE2 => clock_enable, -- 1-bit Clock enable input |
CLK => CLK_IN, -- Fast Source Synchronous SERDES clock from BUFIO |
CLKB => clk_in_inv, -- Locally inverted clock |
CLKDIV => CLK_DIV_IN, -- Slow clock driven by BUFR |
D => data_in_from_pins_delay(pin_count), -- 1-bit Input signal from IOB. |
DDLY => '0', |
RST => IO_RESET, -- 1-bit Asynchronous reset only. |
SHIFTIN1 => '0', |
SHIFTIN2 => '0', |
-- unused connections |
DYNCLKDIVSEL => '0', |
DYNCLKSEL => '0', |
OFB => '0', |
OCLK => '0', |
O => open); -- unregistered output of ISERDESE1 |
iserdese1_slave : ISERDESE1 |
generic map ( |
DATA_RATE => "DDR", |
DATA_WIDTH => 8, |
INTERFACE_TYPE => "NETWORKING", |
DYN_CLKDIV_INV_EN => FALSE, |
DYN_CLK_INV_EN => FALSE, |
NUM_CE => 2, |
OFB_USED => FALSE, |
IOBDELAY => "NONE", -- Use input at D to output the data on Q1-Q6 |
SERDES_MODE => "SLAVE") |
port map ( |
Q1 => open, |
Q2 => open, |
Q3 => iserdes_q(6)(pin_count), |
Q4 => iserdes_q(7)(pin_count), |
Q5 => iserdes_q(8)(pin_count), |
Q6 => iserdes_q(9)(pin_count), |
SHIFTOUT1 => open, |
SHIFTOUT2 => open, |
SHIFTIN1 => icascade1(pin_count), -- Cascade connections from Master ISERDES |
SHIFTIN2 => icascade2(pin_count), -- Cascade connections from Master ISERDES |
BITSLIP => BITSLIP, -- 1-bit Invoke Bitslip. This can be used with any |
-- DATA_WIDTH, cascaded or not. |
CE1 => clock_enable, -- 1-bit Clock enable input |
CE2 => clock_enable, -- 1-bit Clock enable input |
CLK => CLK_IN, -- Fast source synchronous serdes clock |
CLKB => clk_in_inv, -- locally inverted clock |
CLKDIV => CLK_DIV_IN, -- Slow clock sriven by BUFR. |
D => '0', -- Slave ISERDES module. No need to connect D, DDLY |
DDLY => '0', |
RST => IO_RESET, -- 1-bit Asynchronous reset only. |
-- unused connections |
DYNCLKDIVSEL => '0', |
DYNCLKSEL => '0', |
OFB => '0', |
OCLK => '0', |
O => open); -- unregistered output of ISERDESE1 |
-- Concatenate the serdes outputs together. Keep the timesliced |
-- bits together, and placing the earliest bits on the right |
-- ie, if data comes in 0, 1, 2, 3, 4, 5, 6, 7, ... |
-- the output will be 3210, 7654, ... |
------------------------------------------------------------- |
in_slices: for slice_count in 0 to num_serial_bits-1 generate begin |
-- This places the first data in time on the right |
-- DATA_IN_TO_DEVICE(slice_count) <= |
-- iserdes_q(num_serial_bits-slice_count-1)(0); |
-- To place the first data in time on the left, use the |
-- following code, instead |
DATA_IN_TO_DEVICE(slice_count) <= |
iserdes_q(slice_count)(0); |
end generate in_slices; |
end generate pins; |
end xilinx; |
Property changes: |
Added: svn:executable |
+* |
\ No newline at end of property |
/Designs/HAM Constructions/SDRX02B/HDL/project_src/myserdes_ddr_wrapper.vhd |
---|
0,0 → 1,78 |
-------------------------------------------- |
-- wrapper for the iserdes_ddr and pack_data |
-- |
library ieee; |
use ieee.std_logic_1164.all; |
library UNISIM; |
use UNISIM.vcomponents.all; |
entity myserdes_ddr_wrapper is |
generic |
(-- width of the data for the system |
sys_w : integer := 1; |
-- width of the data for the device |
dev_w : integer := 8); |
port ( |
-- CLOCK: |
clk_in : in std_logic; |
clk_in_div : in std_logic; |
-- PADS IN: |
data_in_from_pins_p : in std_logic; |
data_in_from_pins_n : in std_logic; |
data_in_to_device : out std_logic_vector( dev_w - 1 downto 0 ); |
bitslip : in std_logic; |
rst_in : in std_logic ); |
end myserdes_ddr_wrapper; |
architecture behavioral of myserdes_ddr_wrapper is |
component myserdes_ddr is |
generic |
(-- width of the data for the system |
sys_w : integer := 1; |
-- width of the data for the device |
dev_w : integer := 8); |
port |
( |
-- From the system into the device |
DATA_IN_FROM_PINS_P : in std_logic_vector(sys_w-1 downto 0); |
DATA_IN_FROM_PINS_N : in std_logic_vector(sys_w-1 downto 0); |
DATA_IN_TO_DEVICE : out std_logic_vector(dev_w-1 downto 0); |
BITSLIP : in std_logic; -- Bitslip module is enabled in NETWORKING mode |
-- User should tie it to '0' if not needed |
-- Clock and reset signals |
CLK_IN : in std_logic; -- Fast clock from IOB, after IBUFGDS and BUFIO |
CLK_DIV_IN : in std_logic; -- Divided fast clock from IBUFGDS and BUFR |
IO_RESET : in std_logic); -- Reset signal for IO circuit |
end component; |
-- data in signal: |
signal s_data_in_from_pins_p : std_logic_vector( sys_w-1 downto 0 ); |
signal s_data_in_from_pins_n : std_logic_vector( sys_w-1 downto 0 ); |
begin |
-- convert std_logic to std_logic_vector |
s_data_in_from_pins_n(0) <= data_in_from_pins_n; |
s_data_in_from_pins_p(0) <= data_in_from_pins_p; |
-- instantiate the myserdes_ddr |
myserdes_ddr_inst : myserdes_ddr |
port map ( |
DATA_IN_FROM_PINS_P => s_data_in_from_pins_p, DATA_IN_FROM_PINS_N => s_data_in_from_pins_n, |
DATA_IN_TO_DEVICE => data_in_to_device, |
BITSLIP => bitslip, CLK_IN => clk_in, CLK_DIV_IN => clk_in_div, IO_RESET => rst_in ); |
end architecture; |
/Designs/HAM Constructions/SDRX02B/HDL/project_src/processing_block.vhd |
---|
0,0 → 1,185 |
library ieee; |
use ieee.std_logic_1164.all; |
library UNISIM; |
use UNISIM.vcomponents.all; |
library utilities; |
entity processing_block is |
port ( |
-- clock: |
clk_iserdes_in : in std_logic; |
clk_iserdes_in_div : in std_logic; |
clk_global : in std_logic; |
-- reset: |
rst : in std_logic; |
-- bitslip: |
bitslip : in std_logic; |
bitslip_done : in std_logic; -- todo: use this |
bitslip_drop_byte : in std_logic; |
-- input signal: |
in_data_p : in std_logic; |
in_data_n : in std_logic; |
in_data_swap_pn : in std_logic; |
-- input switch for counter output: |
in_output_counting : in std_logic; |
-- output after iserdes and pack16 for bitslip: |
o_iserdes_output : out std_logic_vector( 15 downto 0 ); |
o_iserdes_output_valid : out std_logic; |
-- output fwft FIFO: |
o_data : out std_logic_vector( 31 downto 0 ); |
o_valid : out std_logic; |
i_rden : in std_logic |
); |
end processing_block; |
architecture behavioral of processing_block is |
component swap_endianness |
port ( |
i_data : in std_logic_vector; |
o_data : out std_logic_vector |
); |
end component; |
component fifo_32x512_dualclk_fwft |
port ( |
rst : in std_logic; |
wr_clk : in std_logic; |
rd_clk : in std_logic; |
din : in std_logic_vector(31 downto 0); |
wr_en : in std_logic; |
rd_en : in std_logic; |
dout : out std_logic_vector(31 downto 0); |
full : out std_logic; |
empty : out std_logic; |
valid : out std_logic |
); |
end component; |
component myserdes_ddr_wrapper |
generic |
( sys_w : integer := 1; |
dev_w : integer := 8); |
port ( |
-- CLOCK: |
clk_in : in std_logic; |
clk_in_div : in std_logic; |
-- PADS IN: |
data_in_from_pins_p : in std_logic; |
data_in_from_pins_n : in std_logic; |
-- DATA OUT: |
data_in_to_device : out std_logic_vector( dev_w - 1 downto 0 ); |
bitslip : in std_logic; |
rst_in : in std_logic ); |
end component; |
component saw_generator_wrapper |
generic ( |
G_INCREASE_EVERY_NTH : positive := 4 |
); |
port ( |
i_clk : in std_logic; |
i_rst : in std_logic; |
o_valid : out std_logic; |
o_data : out std_logic_vector |
); |
end component; |
-- Frame signal |
signal s_in_frame_for_data : std_logic_vector( 7 downto 0 ); |
signal s_in_frame_for_data_precorrect : std_logic_vector( 7 downto 0 ); |
signal s_in_frame_for_data_packed16 : std_logic_vector( 15 downto 0 ); |
signal s_in_frame_for_data_packed16_le : std_logic_vector( 15 downto 0 ); |
signal s_in_frame_for_data_packed16_swapped : std_logic_vector( 15 downto 0 ); |
signal s_in_frame_for_data_packed16_valid : std_logic; |
signal s_in_frame_for_data_packed16_valid_wbitslip_done : std_logic; |
signal s_in_frame_for_data_packed32 : std_logic_vector( 31 downto 0 ); |
signal s_in_frame_for_data_packed32_valid : std_logic; |
signal s_rst_n : std_logic; |
-- counter: |
signal s_counter_valid : std_logic; |
signal s_counter_data : std_logic_vector( 31 downto 0 ); |
-- selection signals for the final FIFO: |
signal s_selected_source_valid : std_logic; |
signal s_selected_source_data : std_logic_vector( 31 downto 0 ); |
-- byte drop request |
signal s_bitslip_drop_byte_n : std_logic; |
begin |
s_rst_n <= not rst; |
s_bitslip_drop_byte_n <= not bitslip_drop_byte; |
-- iserdes wrapper: |
myserdes_ddr_wrapper_inst : myserdes_ddr_wrapper |
port map ( |
clk_in => clk_iserdes_in, clk_in_div => clk_iserdes_in_div, |
data_in_from_pins_p => in_data_p, data_in_from_pins_n => in_data_n, data_in_to_device => s_in_frame_for_data_precorrect, |
bitslip => bitslip, rst_in => rst ); |
-- correct hardware swapping of P&N wires: |
s_in_frame_for_data <= s_in_frame_for_data_precorrect when in_data_swap_pn = '0' else |
not s_in_frame_for_data_precorrect; |
-- glue two parts to 16-bit full data: |
glue_data_inst : entity work.glue_data |
port map ( |
i_clk => clk_iserdes_in_div, i_reset_n => s_rst_n, |
i_data => s_in_frame_for_data, i_valid => s_bitslip_drop_byte_n, o_enable => open, |
o_data => s_in_frame_for_data_packed16, o_valid => s_in_frame_for_data_packed16_valid, i_enable => '1' ); |
-- output the 16-bit to manage bitslip: |
o_iserdes_output <= s_in_frame_for_data_packed16; |
o_iserdes_output_valid <= s_in_frame_for_data_packed16_valid; |
-- these data go further after bitslip has been set: |
s_in_frame_for_data_packed16_le <= s_in_frame_for_data_packed16; |
s_in_frame_for_data_packed16_valid_wbitslip_done <= bitslip_done and s_in_frame_for_data_packed16_valid; |
-- insert the pack block to 32 bits: |
pack_data32_inst : entity utilities.pack_data |
generic map ( |
G_OUTPUT_WIDTH => 32 ) |
port map ( |
i_clk => clk_iserdes_in_div, i_reset_n => s_rst_n, |
i_data => s_in_frame_for_data_packed16_le, i_valid => s_in_frame_for_data_packed16_valid_wbitslip_done, o_enable => open, |
o_data => s_in_frame_for_data_packed32, o_valid => s_in_frame_for_data_packed32_valid, i_enable => '1' ); |
-- counter: |
counter_inst : saw_generator_wrapper |
generic map( G_INCREASE_EVERY_NTH => 4 ) |
port map( |
i_clk => clk_iserdes_in_div, i_rst => rst, o_valid => s_counter_valid, o_data => s_counter_data ); |
-- output either the grabbed data or the counter, based on request: |
s_selected_source_valid <= s_counter_valid when in_output_counting = '1' else s_in_frame_for_data_packed32_valid; |
s_selected_source_data <= s_counter_data when in_output_counting = '1' else s_in_frame_for_data_packed32; |
-- insert the cross-domain FIFO: |
cross_domain_fifo_inst : fifo_32x512_dualclk_fwft |
port map ( |
rst => rst, wr_clk => clk_iserdes_in_div, rd_clk => clk_global, |
din => s_selected_source_data, wr_en => s_selected_source_valid, full => open, |
dout => o_data, valid => o_valid, rd_en => i_rden, empty => open ); |
end architecture; |
/Designs/HAM Constructions/SDRX02B/HDL/project_src/saw_generator_wrapper.vhd |
---|
0,0 → 1,47 |
--------------------------------------------- |
-- increase output every fourth clock cycle |
-- |
library ieee; |
use ieee.std_logic_1164.all; |
use ieee.numeric_std.all; |
library sychro1; |
entity saw_generator_wrapper is |
generic ( |
G_INCREASE_EVERY_NTH : positive := 4 |
); |
port ( |
i_clk : in std_logic; |
i_rst : in std_logic; |
o_valid : out std_logic; |
o_data : out std_logic_vector |
); |
end saw_generator_wrapper; |
architecture behavioral of saw_generator_wrapper is |
signal s_modulo_counter_carry : std_logic; |
begin |
-- first counter that counts modulo G_INCREASE_EVERY_NTH to generate a valid signal for the second counter |
-- and the output: |
modulo_up_counter : entity sychro1.up_counter |
generic map ( G_MIN_NUMBER => 0, G_MAX_NUMBER => G_INCREASE_EVERY_NTH - 1 ) |
port map ( i_clk => i_clk, i_rst => i_rst, i_valid => '1', o_data => open, o_carry => s_modulo_counter_carry ); |
-- the second counter: |
main_up_counter : entity sychro1.up_counter_stdlv |
generic map ( G_BITS => o_data'length, G_MIN_NUMBER => ( o_data'range => '0' ), G_MAX_NUMBER => ( o_data'range => '1' ) ) |
port map( i_clk => i_clk, i_rst => i_rst, i_valid => s_modulo_counter_carry, o_data => o_data, o_carry => open ); |
-- signal connection: |
o_valid <= s_modulo_counter_carry; |
end architecture; |
/Designs/HAM Constructions/SDRX02B/HDL/project_src/spi_transmitter_wrapper2.vhd |
---|
0,0 → 1,123 |
----------------------------------------------- |
-- wrapper for the SPI master transmitter logic |
-- |
library ieee; |
use ieee.std_logic_1164.all; |
library UNISIM; |
use UNISIM.vcomponents.all; |
library comm; |
entity spi_transmitter_wrapper is |
generic ( |
G_DATA1 : std_logic_vector; |
G_DATA2 : std_logic_vector; |
G_NUM_BITS_PACKET : integer; |
G_NUM_PACKETS : integer; |
G_NUM_BITS_PAUSE : integer |
); |
port ( |
-- input clock: |
i_clk125 : in std_logic; |
i_reset : in std_logic; |
i_data_selector : in std_logic; |
o_done : out std_logic; |
-- SPI output: |
OUT_SPI_N_CE : OUT std_logic_vector; |
OUT_SPI_DOUT : OUT std_logic; |
OUT_SPI_CLK : OUT std_logic |
); |
end spi_transmitter_wrapper; |
architecture behavioral of spi_transmitter_wrapper is |
component clk_125MHz_to_6MHz |
port |
(-- Clock in ports |
CLK_IN_125 : in std_logic; |
-- Clock out ports |
CLK_OUT_6 : out std_logic |
); |
end component; |
-- divided clock: |
signal s_spi_input_clk : std_logic; |
signal s_clk_6MHz : std_logic; |
signal s_clk_125kHz_tmp : std_logic; |
attribute clock_signal : string; |
attribute clock_signal of s_spi_input_clk : signal is "yes"; |
-- SPI output pins registers: |
signal s_out_spi_n_ce_d : std_logic_vector( OUT_SPI_N_CE'range ); |
signal s_out_spi_dout_d : std_logic; |
signal s_out_spi_clk_d : std_logic; |
-- pack the OUT registers to IOB so that the timing is better: |
attribute iob : string; |
attribute iob of OUT_SPI_N_CE : signal is "FORCE"; |
attribute iob of OUT_SPI_DOUT : signal is "FORCE"; |
attribute iob of OUT_SPI_CLK : signal is "FORCE"; |
begin |
-- IP Core clock wizard: |
clk_125MHz_to_6MHz_inst : clk_125MHz_to_6MHz |
port map ( CLK_IN_125 => i_clk125, CLK_OUT_6 => s_clk_6MHz ); |
-- ~1MHz clock: |
BUFR_inst : BUFR |
generic map ( |
BUFR_DIVIDE => "6", SIM_DEVICE => "VIRTEX6" ) |
port map ( |
O => s_clk_125kHz_tmp, -- s_spi_input_clk |
CE => '1', |
CLR => '0', |
I => s_clk_6MHz |
); |
BUFR2_inst : BUFR |
generic map ( |
BUFR_DIVIDE => "8", SIM_DEVICE => "VIRTEX6" ) |
port map ( |
O => s_spi_input_clk, |
CE => '1', |
CLR => '0', |
I => s_clk_125kHz_tmp |
); |
-- SPI master transmitter: |
spi_transmit_inst : entity comm.spi_master_transmit |
generic map( |
G_DATA1 => G_DATA1, |
G_DATA2 => G_DATA2, |
G_NUM_BITS_PACKET => G_NUM_BITS_PACKET, |
G_NUM_PACKETS => G_NUM_PACKETS, |
G_NUM_BITS_PAUSE => G_NUM_BITS_PAUSE ) |
port map( |
i_clk => s_spi_input_clk, i_rst => i_reset, i_data_selector => i_data_selector, |
o_done => o_done, |
o_n_ce => s_out_spi_n_ce_d, |
o_dout => s_out_spi_dout_d, |
o_clk => s_out_spi_clk_d |
); |
-- registers: |
registered_spi_output : process( s_clk_6MHz ) |
begin |
if( rising_edge( s_clk_6MHz ) ) then |
OUT_SPI_N_CE <= s_out_spi_n_ce_d; |
OUT_SPI_DOUT <= s_out_spi_dout_d; |
OUT_SPI_CLK <= s_out_spi_clk_d; |
end if; |
end process; |
end architecture; |
/Designs/HAM Constructions/SDRX02B/HDL/project_src/swap_endianness.vhd |
---|
0,0 → 1,24 |
library ieee; |
use ieee.std_logic_1164.all; |
entity swap_endianness is |
port ( |
i_data : in std_logic_vector; |
o_data : out std_logic_vector |
); |
end swap_endianness; |
architecture behavioral of swap_endianness is |
begin |
assert ( i_data'length = o_data'length ) report "The input and output data lengths have to match." severity failure; |
assert ( i_data'length mod 8 = 0 ) report "The data length has to be divisible by 8. (Whole bytes)." severity failure; |
swap_gen : for i in 0 to ((i_data'length / 8) - 1) generate |
o_data( 8*(i+1) - 1 downto 8*i ) <= i_data( i_data'length - 8*i - 1 downto i_data'length - 8*(i+1) ); |
end generate; |
end architecture; |
/Designs/HAM Constructions/SDRX02B/HDL/project_src/userlogiccmp_template.vhd |
---|
0,0 → 1,82 |
-- Dummy user_logic_cmp_winfo |
-- |
-- |
-- Uses only data1 stream and simply adds to each byte a given number |
-- |
-- uses the information_block entity for version/type control |
library ieee; |
use ieee.std_logic_1164.all; |
use ieee.numeric_std.all; |
entity user_logic_cmp is |
port ( |
i_clk : in std_logic; |
i_rst : in std_logic; |
-- data1 interface: |
i_data1in_data : in std_logic_vector( 31 downto 0 ); |
i_data1in_valid : in std_logic; |
o_data1in_enable : out std_logic; |
o_data1out_data : out std_logic_vector( 31 downto 0 ); |
o_data1out_valid : out std_logic; |
i_data1out_enable : in std_logic; |
-- data2 interface: |
i_data2in_data : in std_logic_vector( 31 downto 0 ); |
i_data2in_valid : in std_logic; |
o_data2in_enable : out std_logic; |
o_data2out_data : out std_logic_vector( 31 downto 0 ); |
o_data2out_valid : out std_logic; |
i_data2out_enable : in std_logic; |
-- control interface: |
i_controlin_data : in std_logic_vector( 31 downto 0 ); |
i_controlin_valid : in std_logic; |
o_controlin_enable : out std_logic; |
o_controlout_data : out std_logic_vector( 31 downto 0 ); |
o_controlout_valid : out std_logic; |
i_controlout_enable : in std_logic |
); |
end entity; |
architecture behavioral of user_logic_cmp is |
component information_block is |
port ( |
clk : in std_logic; rst : in std_logic; |
-- Input side: |
i_data : in std_logic_vector( 31 downto 0 ); i_valid : in std_logic; o_enable : out std_logic; |
-- Output side: |
o_data : out std_logic_vector( 31 downto 0 ); o_valid : out std_logic; i_enable : in std_logic ); |
end component; |
begin |
-- Example how to read and transmit data: |
sum_process : process( i_clk ) |
begin |
if( rising_edge( i_clk ) ) then |
if( i_rst = '1' ) then |
o_data1out_data <= ( others => '0' ); |
o_data1out_valid <= '0'; |
else |
o_data1out_data( 31 downto 24 ) <= std_logic_vector( unsigned(i_data1in_data( 31 downto 24 )) + to_unsigned(1,8) ); |
o_data1out_data( 23 downto 16 ) <= std_logic_vector( unsigned(i_data1in_data( 23 downto 16 )) + to_unsigned(2,8) ); |
o_data1out_data( 15 downto 8 ) <= std_logic_vector( unsigned(i_data1in_data( 15 downto 8 )) + to_unsigned(3,8) ); |
o_data1out_data( 7 downto 0 ) <= std_logic_vector( unsigned(i_data1in_data( 7 downto 0 )) + to_unsigned(4,8) ); |
o_data1out_valid <= i_data1in_valid; |
end if; |
end if; |
end process; |
o_data1in_enable <= i_data1out_enable; |
-- information_block: |
info_block_inst : information_block |
port map ( |
clk => i_clk, rst => i_rst, |
i_data => i_controlin_data, i_valid => i_controlin_valid, o_enable => o_controlin_enable, |
o_data => o_controlout_data, o_valid => o_controlout_valid, i_enable => i_controlout_enable ); |
end architecture; |
/Designs/HAM Constructions/SDRX02B/HDL/project_src/xilly/xilly_toplevel.userlogiccmp_kakona.vhd |
---|
0,0 → 1,543 |
library ieee; |
use ieee.std_logic_1164.all; |
library UNISIM; |
use UNISIM.vcomponents.all; |
library sychro1; |
library utilities; |
library comm; |
library kakona; |
use kakona.kakona_package.all; |
entity xilly_toplevel is |
port ( |
-- FMC & other ports: |
-- local oscillator to be divided |
IN_CLK_LO_N : IN std_logic; |
IN_CLK_LO_P : IN std_logic; |
-- divided clock |
OUT_CLK_LO_DIVIDED_N : OUT std_logic; |
OUT_CLK_LO_DIVIDED_P : OUT std_logic; |
-- input data: |
-- clock: |
IN_CLK_FOR_DATA_P : IN std_logic; |
IN_CLK_FOR_DATA_N : IN std_logic; |
-- frame signal: |
IN_FRAME_FOR_DATA_N : IN std_logic; |
IN_FRAME_FOR_DATA_P : IN std_logic; |
-- data from ADCs: |
IN_DATA_ADC_P : IN std_logic_vector( C_NUM_INPUT_ADC_DATA_PORTS - 1 downto 0 ); |
IN_DATA_ADC_N : IN std_logic_vector( C_NUM_INPUT_ADC_DATA_PORTS - 1 downto 0 ); |
-- our LEDs: |
GPIO_LED2 : OUT std_logic_vector(3 DOWNTO 0); |
-- SPI communication block: |
OUT_SPI_N_CE : OUT std_logic_vector( C_NUM_INPUT_ADC_MODULES-1 downto 0 ); |
OUT_SPI_DOUT : OUT std_logic; |
OUT_SPI_CLK : OUT std_logic; |
-- test: |
--OUT_TEST1 : OUT std_logic; |
-- dummy inputs due to incorrect soldering -- pins are hardconnected to ground. |
IN_DUMMY : IN std_logic_vector( 1 downto 0 ); |
-- GPIO_DIP_SWITCH: |
GPIO_DIP_SW : IN std_logic_vector( 7 downto 0 ); |
-- original xillybus-only ports: |
PCIE_PERST_B_LS : IN std_logic; |
PCIE_REFCLK_N : IN std_logic; |
PCIE_REFCLK_P : IN std_logic; |
PCIE_RX_N : IN std_logic_vector(3 DOWNTO 0); |
PCIE_RX_P : IN std_logic_vector(3 DOWNTO 0); |
GPIO_LED : OUT std_logic_vector(3 DOWNTO 0); |
PCIE_TX_N : OUT std_logic_vector(3 DOWNTO 0); |
PCIE_TX_P : OUT std_logic_vector(3 DOWNTO 0)); |
end xilly_toplevel; |
architecture behavioral of xilly_toplevel is |
component multiplexer_from_fifos |
generic |
( G_NUM_CHANNELS : natural := 2; -- number of channels |
G_DATA_WIDTH : natural := 32 -- data width of individual packets |
); |
port ( |
clk : in std_logic; |
rst : in std_logic; |
-- input side |
i_data : in std_logic_vector( G_DATA_WIDTH*G_NUM_CHANNELS - 1 downto 0 ); |
i_valid : in std_logic_vector( G_NUM_CHANNELS - 1 downto 0 ); |
o_rden : out std_logic_vector( G_NUM_CHANNELS - 1 downto 0 ); |
-- output side |
o_data : out std_logic_vector( G_DATA_WIDTH - 1 downto 0 ); |
o_valid : out std_logic; |
i_full : in std_logic |
); |
end component; |
COMPONENT fifo_32x512_walmostfull |
PORT ( |
clk : IN STD_LOGIC; |
srst : IN STD_LOGIC; |
din : IN STD_LOGIC_VECTOR(31 DOWNTO 0); |
wr_en : IN STD_LOGIC; |
rd_en : IN STD_LOGIC; |
dout : OUT STD_LOGIC_VECTOR(31 DOWNTO 0); |
full : OUT STD_LOGIC; |
empty : OUT STD_LOGIC; |
valid : OUT STD_LOGIC; |
prog_full : OUT STD_LOGIC |
); |
END COMPONENT; |
component bitslip_compensation |
port ( |
clk : in std_logic; |
rst : in std_logic; |
i_data : in std_logic_vector( 15 downto 0 ); |
i_valid : in std_logic; |
o_bitslip : out std_logic; |
o_bitslip_done : out std_logic; |
o_bitslip_drop_byte : out std_logic; |
o_bitslip_failed : out std_logic |
); |
end component; |
component iserdes_clock_generator |
port |
( |
-- Clock and reset signals |
CLK_IN_P : in std_logic; -- Differential fast clock from IOB |
CLK_IN_N : in std_logic; |
CLK_OUT : out std_logic; -- Fast clock output (synchronous to data) |
CLK_DIV_OUT : out std_logic; -- Slow clock output |
CLK_RESET : in std_logic); -- Reset signal for Clock circuit |
end component; |
component xillybus |
port ( |
PCIE_PERST_B_LS : IN std_logic; |
PCIE_REFCLK_N : IN std_logic; |
PCIE_REFCLK_P : IN std_logic; |
PCIE_RX_N : IN std_logic_vector(3 DOWNTO 0); |
PCIE_RX_P : IN std_logic_vector(3 DOWNTO 0); |
GPIO_LED : OUT std_logic_vector(3 DOWNTO 0); |
PCIE_TX_N : OUT std_logic_vector(3 DOWNTO 0); |
PCIE_TX_P : OUT std_logic_vector(3 DOWNTO 0); |
bus_clk : OUT std_logic; |
quiesce : OUT std_logic; |
user_r_control_r_rden : OUT std_logic; |
user_r_control_r_empty : IN std_logic := '0'; |
user_r_control_r_data : IN std_logic_vector(31 DOWNTO 0) := ( others => '0' ); |
user_r_control_r_eof : IN std_logic := '0'; |
user_r_control_r_open : OUT std_logic; |
user_w_control_w_wren : OUT std_logic; |
user_w_control_w_full : IN std_logic := '0'; |
user_w_control_w_data : OUT std_logic_vector(31 DOWNTO 0); |
user_w_control_w_open : OUT std_logic; |
user_r_data1_r_rden : OUT std_logic; |
user_r_data1_r_empty : IN std_logic; |
user_r_data1_r_data : IN std_logic_vector(31 DOWNTO 0); |
user_r_data1_r_eof : IN std_logic; |
user_r_data1_r_open : OUT std_logic; |
user_w_data1_w_wren : OUT std_logic; |
user_w_data1_w_full : IN std_logic; |
user_w_data1_w_data : OUT std_logic_vector(31 DOWNTO 0); |
user_w_data1_w_open : OUT std_logic; |
user_r_data2_r_rden : OUT std_logic; |
user_r_data2_r_empty : IN std_logic := '0'; |
user_r_data2_r_data : IN std_logic_vector(31 DOWNTO 0) := ( others => '0' ); |
user_r_data2_r_eof : IN std_logic := '0'; |
user_r_data2_r_open : OUT std_logic; |
user_w_data2_w_wren : OUT std_logic; |
user_w_data2_w_full : IN std_logic := '0'; |
user_w_data2_w_data : OUT std_logic_vector(31 DOWNTO 0); |
user_w_data2_w_open : OUT std_logic); |
end component; |
component xilly_userlogiccmp_wrapper |
port ( |
i_clk : in std_logic; |
i_rst : in std_logic; |
user_r_control_r_rden : in std_logic := '0'; |
user_r_control_r_empty : out std_logic := '1'; |
user_r_control_r_data : out std_logic_vector(31 DOWNTO 0); |
user_w_control_w_wren : in std_logic := '0'; |
user_w_control_w_full : out std_logic := '0'; |
user_w_control_w_data : in std_logic_vector(31 DOWNTO 0) := ( others => '0' ); |
user_r_data1_r_rden : in std_logic := '0'; |
user_r_data1_r_empty : out std_logic := '1'; |
user_r_data1_r_data : out std_logic_vector(31 DOWNTO 0); |
user_w_data1_w_wren : in std_logic := '0'; |
user_w_data1_w_full : out std_logic := '0'; |
user_w_data1_w_data : in std_logic_vector(31 DOWNTO 0) := ( others => '0' ); |
user_r_data2_r_rden : in std_logic := '0'; |
user_r_data2_r_empty : out std_logic := '1'; |
user_r_data2_r_data : out std_logic_vector(31 DOWNTO 0); |
user_w_data2_w_wren : in std_logic := '0'; |
user_w_data2_w_full : out std_logic := '0'; |
user_w_data2_w_data : in std_logic_vector(31 DOWNTO 0) := ( others => '0' ) |
); |
end component; |
signal bus_clk : std_logic; |
signal quiesce : std_logic; |
signal user_r_control_r_rden : std_logic; |
signal user_r_control_r_empty : std_logic; |
signal user_r_control_r_data : std_logic_vector(31 DOWNTO 0); |
--signal user_r_control_r_eof : std_logic; |
signal user_r_control_r_open : std_logic; |
signal user_w_control_w_wren : std_logic; |
signal user_w_control_w_full : std_logic; |
signal user_w_control_w_data : std_logic_vector(31 DOWNTO 0); |
signal user_w_control_w_open : std_logic; |
signal user_r_data1_r_rden : std_logic; |
signal user_r_data1_r_empty : std_logic; |
signal user_r_data1_r_data : std_logic_vector(31 DOWNTO 0); |
--signal user_r_data1_r_eof : std_logic; |
signal user_r_data1_r_open : std_logic; |
signal user_w_data1_w_wren : std_logic; |
signal user_w_data1_w_full : std_logic; |
signal user_w_data1_w_data : std_logic_vector(31 DOWNTO 0); |
signal user_w_data1_w_open : std_logic; |
signal user_r_data2_r_rden : std_logic; |
signal user_r_data2_r_empty : std_logic; |
signal user_r_data2_r_data : std_logic_vector(31 DOWNTO 0); |
--signal user_r_data2_r_eof : std_logic; |
signal user_r_data2_r_open : std_logic; |
signal user_w_data2_w_wren : std_logic; |
signal user_w_data2_w_full : std_logic; |
signal user_w_data2_w_data : std_logic_vector(31 DOWNTO 0); |
signal user_w_data2_w_open : std_logic; |
-- reset signal from xillybus. '1' when no device is open |
signal s_reset : std_logic; |
-- generated clock from ADC by iserdes_clock_generator: |
signal s_iserdes_clk : std_logic; |
signal s_iserdes_clk_div : std_logic; |
-- Frame signal |
signal s_data16_to_bitslip : std_logic_vector( 15 downto 0 ); |
signal s_data16_to_bitslip_valid : std_logic; |
signal s_bitslip : std_logic; |
signal s_bitslip_done : std_logic; |
signal s_bitslip_drop_byte : std_logic; |
signal s_bitslip_failed : std_logic; |
signal s_bitslip_regged : std_logic; |
signal s_bitslip_drop_byte_regged : std_logic; |
-- from all ADC processing blocks: |
signal s_from_processing_blocks_data : std_logic_vector( (C_NUM_INPUT_ADC_DATA_PORTS+1)*32 - 1 downto 0 ); -- +1 is space for output from frame |
signal s_from_processing_blocks_valid : std_logic_vector( C_NUM_INPUT_ADC_DATA_PORTS+1 - 1 downto 0 ); |
signal s_from_processing_blocks_rden : std_logic_vector( C_NUM_INPUT_ADC_DATA_PORTS+1 - 1 downto 0 ); |
-- from multiplexer: |
signal s_from_multiplexer_data : std_logic_vector( 31 downto 0 ); |
signal s_from_multiplexer_valid : std_logic; |
signal s_from_multiplexer_full : std_logic; |
-- SPI communication module: |
signal s_spi_done : std_logic; |
-- GPIO_DIP_SW register |
signal s_gpio_dip_sw : std_logic_vector( 7 downto 0 ); |
signal s_valid_for_bitslip_processing : std_logic; |
begin |
-- Xillybus instantiation: |
xillybus_ins : xillybus |
port map ( |
-- Ports related to /dev/xillybus_control_r |
-- FPGA to CPU signals: |
user_r_control_r_rden => user_r_control_r_rden, |
user_r_control_r_empty => user_r_control_r_empty, |
user_r_control_r_data => user_r_control_r_data, |
user_r_control_r_eof => '0', |
user_r_control_r_open => user_r_control_r_open, |
-- Ports related to /dev/xillybus_control_w |
-- CPU to FPGA signals: |
user_w_control_w_wren => user_w_control_w_wren, |
user_w_control_w_full => user_w_control_w_full, |
user_w_control_w_data => user_w_control_w_data, |
user_w_control_w_open => user_w_control_w_open, |
-- Ports related to /dev/xillybus_data1_r |
-- FPGA to CPU signals: |
user_r_data1_r_rden => user_r_data1_r_rden, |
user_r_data1_r_empty => user_r_data1_r_empty, |
user_r_data1_r_data => user_r_data1_r_data, |
user_r_data1_r_eof => '0', |
user_r_data1_r_open => user_r_data1_r_open, |
-- Ports related to /dev/xillybus_data1_w |
-- CPU to FPGA signals: |
user_w_data1_w_wren => user_w_data1_w_wren, |
user_w_data1_w_full => user_w_data1_w_full, |
user_w_data1_w_data => user_w_data1_w_data, |
user_w_data1_w_open => user_w_data1_w_open, |
-- Ports related to /dev/xillybus_data2_r |
-- FPGA to CPU signals: |
user_r_data2_r_rden => user_r_data2_r_rden, |
user_r_data2_r_empty => user_r_data2_r_empty, |
user_r_data2_r_data => user_r_data2_r_data, |
user_r_data2_r_eof => '0', |
user_r_data2_r_open => user_r_data2_r_open, |
-- Ports related to /dev/xillybus_data2_w |
-- CPU to FPGA signals: |
user_w_data2_w_wren => user_w_data2_w_wren, |
user_w_data2_w_full => user_w_data2_w_full, |
user_w_data2_w_data => user_w_data2_w_data, |
user_w_data2_w_open => user_w_data2_w_open, |
-- General signals |
PCIE_PERST_B_LS => PCIE_PERST_B_LS, |
PCIE_REFCLK_N => PCIE_REFCLK_N, |
PCIE_REFCLK_P => PCIE_REFCLK_P, |
PCIE_RX_N => PCIE_RX_N, |
PCIE_RX_P => PCIE_RX_P, |
GPIO_LED => GPIO_LED, |
PCIE_TX_N => PCIE_TX_N, |
PCIE_TX_P => PCIE_TX_P, |
bus_clk => bus_clk, |
quiesce => quiesce |
); |
s_reset <= '0' when user_r_control_r_open = '1' or |
user_w_control_w_open = '1' or |
user_r_data1_r_open = '1' or |
user_w_data1_w_open = '1' or |
user_r_data2_r_open = '1' or |
user_w_data2_w_open = '1' or |
s_gpio_dip_sw(0) = '0' else |
'1'; |
-- register the gpio_dip_sw(0) with the 125MHz clock: |
registers_for_gpio0 : process( bus_clk ) |
begin |
if( rising_edge( bus_clk ) ) then |
s_gpio_dip_sw(0) <= gpio_dip_sw(0); |
s_gpio_dip_sw(2) <= gpio_dip_sw(2); -- used for SPI confifuration block that is clocked with bus_clk |
end if; |
end process; |
-- register the gpio_dip_sw(1) with the clk_div clock: |
registers_for_gpio1 : process( s_iserdes_clk_div ) |
begin |
if( rising_edge( s_iserdes_clk_div ) ) then |
s_gpio_dip_sw(1) <= gpio_dip_sw(1); |
end if; |
end process; |
-- xilly_userlogiccmp_wrapper instantiation: |
xilly_userlogiccmp_wrapper_inst : xilly_userlogiccmp_wrapper |
port map ( |
i_clk => bus_clk, |
i_rst => s_reset, |
user_r_control_r_rden => user_r_control_r_rden, |
user_r_control_r_empty => user_r_control_r_empty, |
user_r_control_r_data => user_r_control_r_data, |
user_w_control_w_wren => user_w_control_w_wren, |
user_w_control_w_full => user_w_control_w_full, |
user_w_control_w_data => user_w_control_w_data, |
user_r_data1_r_rden => user_r_data1_r_rden, |
user_r_data1_r_empty => user_r_data1_r_empty, |
user_r_data1_r_data => user_r_data1_r_data, |
user_w_data1_w_wren => user_w_data1_w_wren, |
user_w_data1_w_full => user_w_data1_w_full, |
user_w_data1_w_data => user_w_data1_w_data, |
-- user_r_data2_r_rden => user_r_data2_r_rden, |
-- user_r_data2_r_empty => user_r_data2_r_empty, |
-- user_r_data2_r_data => user_r_data2_r_data, |
-- user_w_data2_w_wren => user_w_data2_w_wren, |
-- user_w_data2_w_full => user_w_data2_w_full, |
-- user_w_data2_w_data => user_w_data2_w_data |
user_r_data2_r_rden => open, |
user_r_data2_r_empty => open, |
user_r_data2_r_data => open, |
user_w_data2_w_wren => open, |
user_w_data2_w_full => open, |
user_w_data2_w_data => open |
); |
-- tie outputs: |
--OUT_TEST1 <= '0'; |
GPIO_LED2(0) <= s_bitslip_done; |
GPIO_LED2(1) <= s_bitslip_failed; |
GPIO_LED2(2) <= s_bitslip_drop_byte_regged; |
GPIO_LED2(3) <= s_bitslip_regged; |
ddd : process( s_iserdes_clk_div ) |
begin |
if( rising_edge( s_iserdes_clk_div ) ) then |
if( s_reset = '1' ) then |
s_bitslip_regged <= '0'; |
s_bitslip_drop_byte_regged <= '0'; |
else |
s_bitslip_regged <= s_bitslip_regged or s_bitslip; |
s_bitslip_drop_byte_regged <= s_bitslip_drop_byte_regged or s_bitslip_drop_byte; |
end if; |
end if; |
end process; |
----------------------------------------------------------------------------------------------- |
-- DATA PROCESSING: |
-- Clock generator: |
iserdes_clock_generator_inst : iserdes_clock_generator |
port map ( |
CLK_IN_P => IN_CLK_FOR_DATA_P, CLK_IN_N => IN_CLK_FOR_DATA_N, |
CLK_OUT => s_iserdes_clk, CLK_DIV_OUT => s_iserdes_clk_div, CLK_RESET => '0' ); |
-- FRAME signal processing block: |
frame_processing_block_inst : entity work.processing_block |
port map ( |
clk_iserdes_in => s_iserdes_clk, clk_iserdes_in_div => s_iserdes_clk_div, clk_global => bus_clk, |
rst => s_reset, |
bitslip => s_bitslip, bitslip_done => s_bitslip_done, bitslip_drop_byte => s_bitslip_drop_byte, |
in_data_p => IN_FRAME_FOR_DATA_P, in_data_n => IN_FRAME_FOR_DATA_N, |
in_data_swap_pn => C_FRAME_WIRES_SWAPPED_PN, |
in_output_counting => s_gpio_dip_sw(1), |
o_iserdes_output => s_data16_to_bitslip, |
o_iserdes_output_valid => s_data16_to_bitslip_valid, |
o_data => s_from_processing_blocks_data( 31 downto 0 ), |
o_valid => s_from_processing_blocks_valid( 0 ), |
i_rden => s_from_processing_blocks_rden( 0 ) |
); |
-- bitslip processing: |
s_valid_for_bitslip_processing <= s_data16_to_bitslip_valid and s_spi_done; |
bitslip_compensation_inst : bitslip_compensation |
port map ( |
clk => s_iserdes_clk_div, rst => s_reset, |
i_data => s_data16_to_bitslip, i_valid => s_valid_for_bitslip_processing, |
o_bitslip => s_bitslip, o_bitslip_done => s_bitslip_done, o_bitslip_drop_byte => s_bitslip_drop_byte, o_bitslip_failed => s_bitslip_failed ); |
-- ADCs signal processing blocks: |
adc_proc_block_gen : for i in 0 to C_NUM_INPUT_ADC_DATA_PORTS - 1 generate |
adc_processing_block_inst : entity work.processing_block |
port map ( |
clk_iserdes_in => s_iserdes_clk, clk_iserdes_in_div => s_iserdes_clk_div, clk_global => bus_clk, |
rst => s_reset, |
bitslip => s_bitslip, bitslip_done => s_bitslip_done, bitslip_drop_byte => s_bitslip_drop_byte, |
in_data_p => IN_DATA_ADC_P(i), in_data_n => IN_DATA_ADC_N(i), |
in_data_swap_pn => C_DATA_WIRES_SWAPPED_PN(i), |
in_output_counting => '0', |
o_iserdes_output => open, o_iserdes_output_valid => open, |
o_data => s_from_processing_blocks_data( 32*(i+1+1) - 1 downto 32*(i+1) ), -- i+1, because 31 downto 0 is used by the FRAME result |
o_valid => s_from_processing_blocks_valid( i + 1 ), |
i_rden => s_from_processing_blocks_rden( i + 1 ) |
); |
end generate; |
-- multiplexer: |
multiplexer_from_fifos_inst : multiplexer_from_fifos |
generic map ( |
G_NUM_CHANNELS => C_NUM_INPUT_ADC_DATA_PORTS + 1, |
G_DATA_WIDTH => 32 ) |
port map ( |
clk => bus_clk, rst => s_reset, |
i_data => s_from_processing_blocks_data, i_valid => s_from_processing_blocks_valid, |
o_rden => s_from_processing_blocks_rden, |
o_data => s_from_multiplexer_data, o_valid => s_from_multiplexer_valid, i_full => s_from_multiplexer_full |
); |
-- interface to xillybus: |
-- FIFO_OUT instantiation: |
data2_frame_fifo_out_inst : fifo_32x512_walmostfull |
port map ( |
clk => bus_clk, srst => s_reset, |
din => s_from_multiplexer_data, wr_en => s_from_multiplexer_valid, full => open, prog_full => s_from_multiplexer_full, |
dout => user_r_data2_r_data, rd_en => user_r_data2_r_rden, empty => user_r_data2_r_empty, valid => open ); |
----------------------------------------------------------------------------------------------- |
-- LO - Local Oscillator division module: |
-- TODO: not tested: addition of the CE input. Will the ADCs configure themselves without CLOCK? |
lo_divider_wrapper_inst : entity work.lo_divider_wrapper |
generic map ( G_DIVISOR => 30 ) |
port map ( |
IN_CLK_LO_N => IN_CLK_LO_N, IN_CLK_LO_P => IN_CLK_LO_P, in_clk_enable => '1', |
OUT_CLK_LO_DIVIDED_N => OUT_CLK_LO_DIVIDED_N, OUT_CLK_LO_DIVIDED_P => OUT_CLK_LO_DIVIDED_P ); |
----------------------------------------------------------------------------------------------- |
-- SPI MASTER COMMUNICATION MODULE |
spi_transmitter_wrapper_inst : entity work.spi_transmitter_wrapper |
generic map( |
G_DATA1 => C_SPI_ADC_DATA1, |
G_DATA2 => C_SPI_ADC_DATA2, |
G_NUM_BITS_PACKET => C_SPI_ADC_LENGTH, |
G_NUM_PACKETS => C_SPI_ADC_PACKETS, |
G_NUM_BITS_PAUSE => C_SPI_ADC_PAUSE ) |
port map( |
i_clk125 => bus_clk, i_reset => s_reset, i_data_selector => s_gpio_dip_sw(2), |
o_done => s_spi_done, |
OUT_SPI_N_CE => OUT_SPI_N_CE, OUT_SPI_DOUT => OUT_SPI_DOUT, OUT_SPI_CLK => OUT_SPI_CLK ); |
end architecture; |
/Designs/HAM Constructions/SDRX02B/HDL/project_src/xillybus_ml605_kakona.ucf |
---|
0,0 → 1,197 |
CONFIG PART = xc6vlx240t-ff1156-1; |
# The location constraints for REFCLK are implicitly given by the choice |
# of the input buffer. |
#NET "PCIE_REFCLK_P" LOC = V6; |
#NET "PCIE_REFCLK_N" LOC = V5; |
INST "*/pcieclk_ibuf" LOC = IBUFDS_GTXE1_X0Y4; |
INST "*/pcie/pcie_2_0_i/pcie_gt_i/gtx_v6_i/GTXD[0].GTX" LOC = GTXE1_X0Y15; |
INST "*/pcie/pcie_2_0_i/pcie_gt_i/gtx_v6_i/GTXD[1].GTX" LOC = GTXE1_X0Y14; |
INST "*/pcie/pcie_2_0_i/pcie_gt_i/gtx_v6_i/GTXD[2].GTX" LOC = GTXE1_X0Y13; |
INST "*/pcie/pcie_2_0_i/pcie_gt_i/gtx_v6_i/GTXD[3].GTX" LOC = GTXE1_X0Y12; |
INST "*/pcie/pcie_2_0_i/pcie_block_i" LOC = PCIE_X0Y1; |
INST "*/pcie/pcie_clocking_i/mmcm_adv_i" LOC = MMCM_ADV_X0Y7; |
NET "PCIE_REFCLK_P" TNM_NET = "SYSCLK" ; |
NET "*/pcie/pcie_clocking_i/clk_125" TNM_NET = "CLK_125" ; |
NET "*/pcie/TxOutClk_bufg" TNM_NET = "TXOUTCLKBUFG"; |
TIMESPEC "TS_SYSCLK" = PERIOD "SYSCLK" 250 MHz HIGH 50 % PRIORITY 100 ; |
TIMESPEC "TS_CLK_125" = PERIOD "CLK_125" TS_SYSCLK/2 HIGH 50 % PRIORITY 1 ; |
TIMESPEC "TS_TXOUTCLKBUFG" = PERIOD "TXOUTCLKBUFG" 250 MHz HIGH 50 % PRIORITY 100 ; |
PIN "*/pcie/trn_reset_n_int_i.CLR" TIG ; |
PIN "*/pcie/trn_reset_n_i.CLR" TIG ; |
PIN "*/pcie/pcie_clocking_i/mmcm_adv_i.RST" TIG ; |
NET "PCIE_PERST_B_LS" TIG; |
NET "PCIE_PERST_B_LS" LOC = AE13 | IOSTANDARD = LVCMOS25 | PULLUP | NODELAY ; |
NET "GPIO_LED[0]" LOC = "AC22"; # DS12 |
NET "GPIO_LED[1]" LOC = "AC24"; # DS11 |
NET "GPIO_LED[2]" LOC = "AE22"; # DS9 |
NET "GPIO_LED[3]" LOC = "AE23"; # DS10 |
################################################################# |
############## SYCHRO1 |
# Incoming clock to be divided: |
NET "IN_CLK_LO_N" LOC = "B10"; ## H5 on J63 FMC_LPC_CLK0_M2C_N |
NET "IN_CLK_LO_P" LOC = "A10"; ## H4 on J63 FMC_LPC_CLK0_M2C_P |
# Timing for that: |
NET "IN_CLK_LO_P" TNM_NET = "LOCLK"; |
TIMESPEC "TS_LOCLK" = PERIOD "LOCLK" 300 MHz HIGH 50% PRIORITY 50; |
# Divided clock: |
NET "OUT_CLK_LO_DIVIDED_N" LOC = "E31"; ## D9 on J63 FMC_LPC_LA01_CC_N |
NET "OUT_CLK_LO_DIVIDED_P" LOC = "F31"; ## D8 on J63 FMC_LPC_LA01_CC_P |
#nejde NET "OUT_CLK_LO_DIVIDED_N" LOC = "M5"; ## D5 on J63 "FMC_LPC_GBTCLK0_M2C_N" |
#nejde NET "OUT_CLK_LO_DIVIDED_P" LOC = "M6"; ## D4 on J63 "FMC_LPC_GBTCLK0_M2C_P" |
################################## |
# INCOMING DATA FROM ADCs |
# Incoming clock synchronous to incoming data: |
NET "IN_CLK_FOR_DATA_N" LOC = "G33"; ## G3 on J63 FMC_LPC_CLK1_M2C_N |
NET "IN_CLK_FOR_DATA_P" LOC = "F33"; ## G2 on J63 FMC_LPC_CLK1_M2C_P |
# Timing for that: |
NET "IN_CLK_FOR_DATA_P" TNM_NET = "ADCDATACLK"; |
#TIMESPEC "TS_ADCDATACLK" = PERIOD "ADCDATACLK" 40 MHz HIGH 50% PRIORITY 50; |
TIMESPEC "TS_ADCDATACLK" = PERIOD "ADCDATACLK" 80 MHz HIGH 50% PRIORITY 50; # freq to ADC is 10MHz |
# Incoming frame signal: |
NET "IN_FRAME_FOR_DATA_N" LOC = "L30"; ## C23 on J63 FMC_LPC_LA18_CC_N |
NET "IN_FRAME_FOR_DATA_P" LOC = "L29"; ## C22 on J63 FMC_LPC_LA18_CC_P |
# Incoming data signal: |
NET "IN_DATA_ADC_N[0]" LOC = "B33"; ## G19 on J63 FMC_LPC_LA16_N SAS-P2_0_N |
NET "IN_DATA_ADC_P[0]" LOC = "A33"; ## G18 on J63 FMC_LPC_LA16_P SAS-P2_0_P |
NET "IN_DATA_ADC_N[1]" LOC = "D32"; ## H17 on J63 FMC_LPC_LA11_N SAS-P2_1_N |
NET "IN_DATA_ADC_P[1]" LOC = "D31"; ## H16 on J63 FMC_LPC_LA11_P SAS-P2_1_P |
NET "IN_DATA_ADC_N[2]" LOC = "N29"; ## D21 on J63 FMC_LPC_LA17_CC_N SAS-P3_0_N |
NET "IN_DATA_ADC_P[2]" LOC = "N28"; ## D20 on J63 FMC_LPC_LA17_CC_P SAS-P3_0_P |
NET "IN_DATA_ADC_N[3]" LOC = "B32"; ## H20 on J63 FMC_LPC_LA15_N SAS-P3_1_N |
NET "IN_DATA_ADC_P[3]" LOC = "C32"; ## H19 on J63 FMC_LPC_LA15_P SAS-P3_1_P |
# MiniSAS channels P0 and P1 |
#NET "IN_DATA_ADC_N[0]" LOC = "J32"; ## G10 on J63 FMC_LPC_LA03_N SAS-P0_0_N |
#NET "IN_DATA_ADC_P[0]" LOC = "J31"; ## G9 on J63 FMC_LPC_LA03_P SAS-P0_0_P |
#NET "IN_DATA_ADC_N[1]" LOC = "J29"; ## H11 on J63 FMC_LPC_LA04_N SAS-P0_1_N |
#NET "IN_DATA_ADC_P[1]" LOC = "K28"; ## H10 on J63 FMC_LPC_LA04_P SAS-P0_1_P |
#NET "IN_DATA_ADC_N[2]" LOC = "K29"; ## G13 on J63 FMC_LPC_LA08_N SAS-P1_0_N |
#NET "IN_DATA_ADC_P[2]" LOC = "J30"; ## G12 on J63 FMC_LPC_LA08_P SAS-P1_0_P |
#NET "IN_DATA_ADC_N[3]" LOC = "H32"; ## H14 on J63 FMC_LPC_LA07_N SAS-P1_1_N |
#NET "IN_DATA_ADC_P[3]" LOC = "G32"; ## H13 on J63 FMC_LPC_LA07_P SAS-P1_1_P |
#NET "IN_DATA_ADC_N[0]" LOC = "R27"; ## D24 on J63 FMC_LPC_LA23_N |
#NET "IN_DATA_ADC_P[0]" LOC = "R28"; ## D23 on J63 FMC_LPC_LA23_P |
#NET "IN_DATA_ADC_N[1]" LOC = "M32"; ## D27 on J63 FMC_LPC_LA26_N |
#NET "IN_DATA_ADC_P[1]" LOC = "L33"; ## D26 on J63 FMC_LPC_LA26_P |
#NET "IN_DATA_ADC_N[2]" LOC = "J29"; ## H11 on J63 "FMC_LPC_LA04_N" |
#NET "IN_DATA_ADC_P[2]" LOC = "K28"; ## H10 on J63 "FMC_LPC_LA04_P" |
#NET "IN_DATA_ADC_N[3]" LOC = "H33"; ## D12 on J63 "FMC_LPC_LA05_N" |
#NET "IN_DATA_ADC_P[3]" LOC = "H34"; ## D11 on J63 "FMC_LPC_LA05_P" |
#NET "IN_DATA_ADC_N[4]" LOC = "J34"; ## C11 on J63 "FMC_LPC_LA06_N" |
#NET "IN_DATA_ADC_P[4]" LOC = "K33"; ## C10 on J63 "FMC_LPC_LA06_P" |
#NET "IN_DATA_ADC_N[5]" LOC = "H32"; ## H14 on J63 "FMC_LPC_LA07_N" |
#NET "IN_DATA_ADC_P[5]" LOC = "G32"; ## H13 on J63 "FMC_LPC_LA07_P" |
#NET "IN_DATA_ADC_N[6]" LOC = "K29"; ## G13 on J63 "FMC_LPC_LA08_N" |
#NET "IN_DATA_ADC_P[6]" LOC = "J30"; ## G12 on J63 "FMC_LPC_LA08_P" |
#NET "IN_DATA_ADC_N[7]" LOC = "L26"; ## D15 on J63 "FMC_LPC_LA09_N" |
#NET "IN_DATA_ADC_P[7]" LOC = "L25"; ## D14 on J63 "FMC_LPC_LA09_P" |
#NET "IN_DATA_ADC_N[8]" LOC = "G30"; ## C15 on J63 "FMC_LPC_LA10_N" |
#NET "IN_DATA_ADC_P[8]" LOC = "F30"; ## C14 on J63 "FMC_LPC_LA10_P" |
#NET "IN_DATA_ADC_N[9]" LOC = "D32"; ## H17 on J63 "FMC_LPC_LA11_N" |
#NET "IN_DATA_ADC_P[9]" LOC = "D31"; ## H16 on J63 "FMC_LPC_LA11_P" |
#NET "IN_DATA_ADC_N[10]" LOC = "E33"; ## G16 on J63 "FMC_LPC_LA12_N" |
#NET "IN_DATA_ADC_P[10]" LOC = "E32"; ## G15 on J63 "FMC_LPC_LA12_P" |
#NET "IN_DATA_ADC_N[11]" LOC = "C34"; ## D18 on J63 "FMC_LPC_LA13_N" |
#NET "IN_DATA_ADC_P[11]" LOC = "D34"; ## D17 on J63 "FMC_LPC_LA13_P" |
#NET "IN_DATA_ADC_N[12]" LOC = "B34"; ## C19 on J63 "FMC_LPC_LA14_N" |
#NET "IN_DATA_ADC_P[12]" LOC = "C33"; ## C18 on J63 "FMC_LPC_LA14_P" |
#NET "IN_DATA_ADC_N[13]" LOC = "B32"; ## H20 on J63 "FMC_LPC_LA15_N" |
#NET "IN_DATA_ADC_P[13]" LOC = "C32"; ## H19 on J63 "FMC_LPC_LA15_P" |
#NET "IN_DATA_ADC_N[14]" LOC = "B33"; ## G19 on J63 "FMC_LPC_LA16_N" |
#NET "IN_DATA_ADC_P[14]" LOC = "A33"; ## G18 on J63 "FMC_LPC_LA16_P" |
#NET "IN_DATA_ADC_N[15]" LOC = "N29"; ## D21 on J63 "FMC_LPC_LA17_CC_N" |
#NET "IN_DATA_ADC_P[15]" LOC = "N28"; ## D20 on J63 "FMC_LPC_LA17_CC_P" |
########################################################## |
# four other LEDs: |
NET "GPIO_LED2[0]" LOC = "AB23"; ## 2 on LED DS15, 5 on J62 |
NET "GPIO_LED2[1]" LOC = "AG23"; ## 2 on LED DS14, 6 on J62 |
NET "GPIO_LED2[2]" LOC = "AE24"; ## 2 on LED DS22, 7 on J62 |
NET "GPIO_LED2[3]" LOC = "AD24"; ## 2 on LED DS21, 8 on J62 |
########################################################## |
## SAS-interface AUX 1 ~ 8 |
#NET "SAS-AUX[1]" LOC = "B34"; ## C19 on J63 FMC_LPC_LA14_N |
#NET "SAS-AUX[2]" LOC = "C33"; ## C18 on J63 FMC_LPC_LA14_P |
#NET "SAS-AUX[3]" LOC = "E33"; ## G16 on J63 FMC_LPC_LA12_N |
#NET "SAS-AUX[4]" LOC = "E32"; ## G15 on J63 FMC_LPC_LA12_P |
#NET "SAS-AUX[5]" LOC = "C34"; ## D18 on J63 FMC_LPC_LA13_N ## SOLDERED TO GND |
#NET "SAS-AUX[6]" LOC = "D34"; ## D17 on J63 FMC_LPC_LA13_P |
#NET "SAS-AUX[7]" LOC = "L26"; ## D15 on J63 FMC_LPC_LA09_N |
#NET "SAS-AUX[8]" LOC = "L25"; ## D14 on J63 FMC_LPC_LA09_P ## SOLDERED TO GND |
## SAS-interface LVDS lines: |
#NET "SAS-P0_0_N" LOC = "J32"; ## G10 on J63 FMC_LPC_LA03_N SAS-P0_0_N |
#NET "SAS-P0_0_P" LOC = "J31"; ## G9 on J63 FMC_LPC_LA03_P SAS-P0_0_P |
#NET "SAS-P0_1_N" LOC = "J29"; ## H11 on J63 FMC_LPC_LA04_N SAS-P0_1_N |
#NET "SAS-P0_1_P" LOC = "K28"; ## H10 on J63 FMC_LPC_LA04_P SAS-P0_1_P |
#NET "SAS-P1_0_N" LOC = "K29"; ## G13 on J63 FMC_LPC_LA08_N SAS-P1_0_N |
#NET "SAS-P1_0_P" LOC = "J30"; ## G12 on J63 FMC_LPC_LA08_P SAS-P1_0_P |
#NET "SAS-P1_1_N" LOC = "H32"; ## H14 on J63 FMC_LPC_LA07_N SAS-P1_1_N |
#NET "SAS-P1_1_P" LOC = "G32"; ## H13 on J63 FMC_LPC_LA07_P SAS-P1_1_P |
#NET "SAS-P2_0_N" LOC = "B33"; ## G19 on J63 FMC_LPC_LA16_N SAS-P2_0_N |
#NET "SAS-P2_0_P" LOC = "A33"; ## G18 on J63 FMC_LPC_LA16_P SAS-P2_0_P |
#NET "SAS-P2_1_N" LOC = "D32"; ## H17 on J63 FMC_LPC_LA11_N SAS-P2_1_N |
#NET "SAS-P2_1_P" LOC = "D31"; ## H16 on J63 FMC_LPC_LA11_P SAS-P2_1_P |
#NET "SAS-P3_0_N" LOC = "N29"; ## D21 on J63 FMC_LPC_LA17_CC_N SAS-P3_0_N |
#NET "SAS-P3_0_P" LOC = "N28"; ## D20 on J63 FMC_LPC_LA17_CC_P SAS-P3_0_P |
#NET "SAS-P3_1_N" LOC = "B32"; ## H20 on J63 FMC_LPC_LA15_N SAS-P3_1_N |
#NET "SAS-P3_1_P" LOC = "C32"; ## H19 on J63 FMC_LPC_LA15_P SAS-P3_1_P |
########################################################## |
# SPI interface: |
NET "OUT_SPI_DOUT" LOC = "B34" | SLEW = SLOW | DRIVE = 2; ## C19 on J63 FMC_LPC_LA14_N SAS-AUX[1] |
NET "OUT_SPI_CLK" LOC = "C33" | SLEW = SLOW | DRIVE = 2; ## C18 on J63 FMC_LPC_LA14_P SAS-AUX[2] |
NET "OUT_SPI_N_CE[0]" LOC = "E33" | SLEW = SLOW | DRIVE = 2; ## G16 on J63 FMC_LPC_LA12_N SAS-AUX[3] |
NET "OUT_SPI_N_CE[1]" LOC = "E32" | SLEW = SLOW | DRIVE = 2; ## G15 on J63 FMC_LPC_LA12_P SAS-AUX[4] |
# Locate the BUFR near the output pins so that the timing can be reached. |
INST "spi_transmitter_wrapper_inst/BUFR_inst" LOC = BUFR_X0Y8; |
# test: |
#NET "OUT_TEST1" LOC = "E32" | SLEW = FAST; ## G15 on J63 FMC_LPC_LA12_P |
# DUMMY hard-connected to ground. |
NET "IN_DUMMY[0]" LOC = "C34"; ## D18 on J63 FMC_LPC_LA13_N ## SOLDERED TO GND |
NET "IN_DUMMY[1]" LOC = "L25"; ## D14 on J63 FMC_LPC_LA09_P ## SOLDERED TO GND |
############################################### |
# DIP switch |
NET "GPIO_DIP_SW<0>" LOC = "D22"; ## 1 on SW1 DIP switch (active-high) |
NET "GPIO_DIP_SW<1>" LOC = "C22"; ## 2 on SW1 DIP switch (active-high) |
NET "GPIO_DIP_SW<2>" LOC = "L21"; ## 3 on SW1 DIP switch (active-high) |
NET "GPIO_DIP_SW<3>" LOC = "L20"; ## 4 on SW1 DIP switch (active-high) |
NET "GPIO_DIP_SW<4>" LOC = "C18"; ## 5 on SW1 DIP switch (active-high) |
NET "GPIO_DIP_SW<5>" LOC = "B18"; ## 6 on SW1 DIP switch (active-high) |
NET "GPIO_DIP_SW<6>" LOC = "K22"; ## 7 on SW1 DIP switch (active-high) |
NET "GPIO_DIP_SW<7>" LOC = "K21"; ## 8 on SW1 DIP switch (active-high) |
/Designs/HAM Constructions/SDRX02B/PrjInfo.txt |
---|
0,0 → 1,17 |
|
[InfoShortDescription.en] |
UHF SDR Receiver |
[InfoShortDescription.cs] |
UHF SDR přijímač |
[InfoLongDescription.en] |
New design of software defined receiver for high radio bands in GHz range. The receiver have extra wide bandwidth allowing demodulation of wide spread spectra signals. Primary data interface is PCI Express or Thunderbolt. |
[InfoLongDescription.cs] |
Konstrukce SDR přijímače pro vyšší rádiová pásma do několika GHz. Přijímač má velkou šířku pásma použitelnou pro příjem kmitočtově rozprostřených signálů. Hlavním datovým přenosovým rozhraním je PCI Express nebo Thunderbolt. |
[InfoBuyUST] |
[End] |
/Designs/HAM Constructions/SDRX02B/PrjInfo.txt~ |
---|
0,0 → 1,17 |
|
[InfoShortDescription.en] |
UHF SDR Receiver |
[InfoShortDescription.cs] |
UHF SDR přijímač |
[InfoLongDescription.en] |
New design of software defined receiver for high radio bands in GHz range. The receiver have extra wide bandwidth allowing demodulation of wide spread spectra signals. Primary data interface is Thunderbolt. |
[InfoLongDescription.cs] |
Konstrukce SDR přijímače pro vyšší rádiová pásma do několika GHz. Přijímač má velkou šířku pásma použitelnou pro příjem kmitočtově rozprostřených signálů. Hlavním datovým přenosovým rozhraním je Thunderbolt. |
[InfoBuyUST] |
[End] |
/Designs/HAM Constructions/SDRX02B/pdf/fiberoptics/cable.txt |
---|
0,0 → 1,0 |
http://www.aflglobal.com/Products/Fiber-Optic-Cable/Enterprise/Indoor-Outdoor-Cable/Copper-Fiber-Composite-Cable.aspx |