diff options
author | Johnathan Corgan <jcorgan@corganenterprises.com> | 2009-09-08 16:52:37 -0700 |
---|---|---|
committer | Johnathan Corgan <jcorgan@corganenterprises.com> | 2009-09-20 09:39:27 -0700 |
commit | b7d1c551fb374a0e5219fbb4d118f3f19f448393 (patch) | |
tree | d8635c7eea59530f07b5c8ca2c43980c38cd0d8a /gr-noaa/grc | |
parent | 65bcd58b65219408268e5db1b8fbafb2d3ccc215 (diff) |
Changed synchronizer to output sliced bits.
Diffstat (limited to 'gr-noaa/grc')
-rw-r--r-- | gr-noaa/grc/Makefile.am | 2 | ||||
-rw-r--r-- | gr-noaa/grc/noaa_hrpt_sync_fb.xml (renamed from gr-noaa/grc/noaa_hrpt_sync_ff.xml) | 6 | ||||
-rw-r--r-- | gr-noaa/grc/usrp_rx_hrpt.grc | 455 | ||||
-rwxr-xr-x | gr-noaa/grc/usrp_rx_hrpt.py | 20 |
4 files changed, 228 insertions, 255 deletions
diff --git a/gr-noaa/grc/Makefile.am b/gr-noaa/grc/Makefile.am index fa2c40c88b..e56bd354d0 100644 --- a/gr-noaa/grc/Makefile.am +++ b/gr-noaa/grc/Makefile.am @@ -29,7 +29,7 @@ dist_bin_SCRIPTS = \ dist_grcblocks_DATA = \ noaa_hrpt_pll_cf.xml \ - noaa_hrpt_sync_ff.xml + noaa_hrpt_sync_fb.xml EXTRA_DIST = \ usrp_rx_hrpt.grc \ diff --git a/gr-noaa/grc/noaa_hrpt_sync_ff.xml b/gr-noaa/grc/noaa_hrpt_sync_fb.xml index 91b83ad5de..e066e34894 100644 --- a/gr-noaa/grc/noaa_hrpt_sync_ff.xml +++ b/gr-noaa/grc/noaa_hrpt_sync_fb.xml @@ -1,10 +1,10 @@ <?xml version="1.0"?> <block> <name>HRPT SYNC</name> - <key>noaa_hrpt_sync_ff</key> + <key>noaa_hrpt_sync_fb</key> <category>NOAA</category> <import>from gnuradio import noaa</import> - <make>noaa.hrpt_sync_ff($alpha, $beta, $sps, $max_offset)</make> + <make>noaa.hrpt_sync_fb($alpha, $beta, $sps, $max_offset)</make> <callback>set_alpha($alpha)</callback> <callback>set_beta($beta)</callback> <callback>set_max_offset($max_offset)</callback> @@ -34,6 +34,6 @@ </sink> <source> <name>out</name> - <type>float</type> + <type>byte</type> </source> </block> diff --git a/gr-noaa/grc/usrp_rx_hrpt.grc b/gr-noaa/grc/usrp_rx_hrpt.grc index 41aa1958e5..25b1335322 100644 --- a/gr-noaa/grc/usrp_rx_hrpt.grc +++ b/gr-noaa/grc/usrp_rx_hrpt.grc @@ -1,6 +1,6 @@ <?xml version='1.0' encoding='ASCII'?> <flow_graph> - <timestamp>Mon Sep 7 13:05:09 2009</timestamp> + <timestamp>Tue Sep 8 14:57:48 2009</timestamp> <block> <key>options</key> <param> @@ -222,144 +222,6 @@ </param> </block> <block> - <key>wxgui_fftsink2</key> - <param> - <key>id</key> - <value>rx_fftsink</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>type</key> - <value>complex</value> - </param> - <param> - <key>title</key> - <value>RX Spectrum</value> - </param> - <param> - <key>samp_rate</key> - <value>sample_rate</value> - </param> - <param> - <key>baseband_freq</key> - <value>1698e6</value> - </param> - <param> - <key>y_per_div</key> - <value>5</value> - </param> - <param> - <key>y_divs</key> - <value>8</value> - </param> - <param> - <key>ref_level</key> - <value>20</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>30</value> - </param> - <param> - <key>peak_hold</key> - <value>False</value> - </param> - <param> - <key>average</key> - <value>True</value> - </param> - <param> - <key>avg_alpha</key> - <value>0.1</value> - </param> - <param> - <key>grid_pos</key> - <value>0, 0, 1, 1</value> - </param> - <param> - <key>notebook</key> - <value>displays, 0</value> - </param> - <param> - <key>_coordinate</key> - <value>(433, 297)</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>complex</value> - </param> - <param> - <key>title</key> - <value>RX Waveform</value> - </param> - <param> - <key>samp_rate</key> - <value>sample_rate</value> - </param> - <param> - <key>v_scale</key> - <value>0</value> - </param> - <param> - <key>t_scale</key> - <value>20.0/sample_rate</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>1</value> - </param> - <param> - <key>grid_pos</key> - <value>1, 0, 1, 1</value> - </param> - <param> - <key>notebook</key> - <value>displays, 0</value> - </param> - <param> - <key>_coordinate</key> - <value>(434, 603)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> <key>variable_slider</key> <param> <key>id</key> @@ -590,62 +452,61 @@ </param> </block> <block> - <key>wxgui_scopesink2</key> + <key>virtual_source</key> <param> <key>id</key> - <value>wxgui_scopesink2_0_0</value> + <value>virtual_source_0</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>type</key> - <value>float</value> - </param> - <param> - <key>title</key> - <value>Post-PLL</value> + <key>stream_id</key> + <value>bits</value> </param> <param> - <key>samp_rate</key> - <value>sample_rate</value> + <key>_coordinate</key> + <value>(283, 919)</value> </param> <param> - <key>v_scale</key> - <value>0.5</value> + <key>_rotation</key> + <value>0</value> </param> + </block> + <block> + <key>notebook</key> <param> - <key>t_scale</key> - <value>20.0/sample_rate</value> + <key>id</key> + <value>displays</value> </param> <param> - <key>ac_couple</key> - <value>False</value> + <key>_enabled</key> + <value>True</value> </param> <param> - <key>xy_mode</key> - <value>False</value> + <key>style</key> + <value>wx.NB_TOP</value> </param> <param> - <key>num_inputs</key> - <value>1</value> + <key>labels</key> + <value>['RX','PLL/SYNC']</value> </param> <param> <key>grid_pos</key> - <value>0, 0, 1, 1</value> + <value>1, 0, 1, 2</value> </param> <param> <key>notebook</key> - <value>displays, 1</value> + <value></value> </param> <param> <key>_coordinate</key> - <value>(618, 335)</value> + <value>(9, 99)</value> </param> <param> <key>_rotation</key> - <value>180</value> + <value>0</value> </param> </block> <block> @@ -680,10 +541,10 @@ </param> </block> <block> - <key>noaa_hrpt_sync_ff</key> + <key>noaa_hrpt_sync_fb</key> <param> <key>id</key> - <value>noaa_hrpt_sync_ff_0</value> + <value>noaa_hrpt_sync_fb_0</value> </param> <param> <key>_enabled</key> @@ -691,11 +552,11 @@ </param> <param> <key>alpha</key> - <value>.005</value> + <value>0.001</value> </param> <param> <key>beta</key> - <value>.005*.005/4.0</value> + <value>0.001**2/4.0</value> </param> <param> <key>sps</key> @@ -707,7 +568,7 @@ </param> <param> <key>_coordinate</key> - <value>(876, 494)</value> + <value>(856, 494)</value> </param> <param> <key>_rotation</key> @@ -715,18 +576,22 @@ </param> </block> <block> - <key>gr_binary_slicer_fb</key> + <key>virtual_sink</key> <param> <key>id</key> - <value>gr_binary_slicer_fb_0</value> + <value>virtual_sink_1</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> + <key>stream_id</key> + <value>bits</value> + </param> + <param> <key>_coordinate</key> - <value>(1108, 522)</value> + <value>(1126, 518)</value> </param> <param> <key>_rotation</key> @@ -734,22 +599,18 @@ </param> </block> <block> - <key>virtual_sink</key> + <key>gr_char_to_float</key> <param> <key>id</key> - <value>virtual_sink_1</value> + <value>gr_char_to_float_0</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>stream_id</key> - <value>bits</value> - </param> - <param> <key>_coordinate</key> - <value>(1289, 518)</value> + <value>(477, 923)</value> </param> <param> <key>_rotation</key> @@ -757,22 +618,22 @@ </param> </block> <block> - <key>gr_file_sink</key> + <key>gr_add_const_vxx</key> <param> <key>id</key> - <value>gr_file_sink_0</value> + <value>gr_add_const_vxx_0</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>file</key> - <value>bits.dat</value> + <key>type</key> + <value>float</value> </param> <param> - <key>type</key> - <value>byte</value> + <key>const</key> + <value>48.0</value> </param> <param> <key>vlen</key> @@ -780,7 +641,7 @@ </param> <param> <key>_coordinate</key> - <value>(981, 919)</value> + <value>(692, 919)</value> </param> <param> <key>_rotation</key> @@ -788,10 +649,10 @@ </param> </block> <block> - <key>gr_char_to_float</key> + <key>gr_float_to_char</key> <param> <key>id</key> - <value>gr_char_to_float_0</value> + <value>gr_float_to_char_0</value> </param> <param> <key>_enabled</key> @@ -799,7 +660,7 @@ </param> <param> <key>_coordinate</key> - <value>(477, 923)</value> + <value>(848, 923)</value> </param> <param> <key>_rotation</key> @@ -807,18 +668,30 @@ </param> </block> <block> - <key>gr_float_to_char</key> + <key>gr_file_sink</key> <param> <key>id</key> - <value>gr_float_to_char_0</value> + <value>gr_file_sink_0</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> + <key>file</key> + <value>bits.dat</value> + </param> + <param> + <key>type</key> + <value>byte</value> + </param> + <param> + <key>vlen</key> + <value>1</value> + </param> + <param> <key>_coordinate</key> - <value>(809, 923)</value> + <value>(1020, 919)</value> </param> <param> <key>_rotation</key> @@ -826,10 +699,10 @@ </param> </block> <block> - <key>gr_add_const_vxx</key> + <key>wxgui_scopesink2</key> <param> <key>id</key> - <value>gr_add_const_vxx_0</value> + <value>wxgui_scopesink2_0_0_0_0</value> </param> <param> <key>_enabled</key> @@ -840,39 +713,123 @@ <value>float</value> </param> <param> - <key>const</key> - <value>48.0</value> + <key>title</key> + <value>Post-SYNC</value> </param> <param> - <key>vlen</key> + <key>samp_rate</key> + <value>sym_rate</value> + </param> + <param> + <key>v_scale</key> + <value>0.5</value> + </param> + <param> + <key>t_scale</key> + <value>20.0/sym_rate</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>1</value> </param> <param> + <key>grid_pos</key> + <value>1, 0, 1, 1</value> + </param> + <param> + <key>notebook</key> + <value>displays, 1</value> + </param> + <param> <key>_coordinate</key> - <value>(653, 919)</value> + <value>(452, 990)</value> </param> <param> <key>_rotation</key> - <value>0</value> + <value>180</value> </param> </block> <block> - <key>virtual_source</key> + <key>wxgui_fftsink2</key> <param> <key>id</key> - <value>virtual_source_0</value> + <value>rx_fftsink</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>stream_id</key> - <value>bits</value> + <key>type</key> + <value>complex</value> + </param> + <param> + <key>title</key> + <value>RX Spectrum</value> + </param> + <param> + <key>samp_rate</key> + <value>sample_rate</value> + </param> + <param> + <key>baseband_freq</key> + <value>1698e6</value> + </param> + <param> + <key>y_per_div</key> + <value>5</value> + </param> + <param> + <key>y_divs</key> + <value>8</value> + </param> + <param> + <key>ref_level</key> + <value>20</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>30</value> + </param> + <param> + <key>peak_hold</key> + <value>False</value> + </param> + <param> + <key>average</key> + <value>True</value> + </param> + <param> + <key>avg_alpha</key> + <value>0.1</value> + </param> + <param> + <key>grid_pos</key> + <value>0, 0, 1, 1</value> + </param> + <param> + <key>notebook</key> + <value>displays, 0</value> </param> <param> <key>_coordinate</key> - <value>(283, 919)</value> + <value>(434, 269)</value> </param> <param> <key>_rotation</key> @@ -883,7 +840,7 @@ <key>wxgui_scopesink2</key> <param> <key>id</key> - <value>wxgui_scopesink2_0_0_0_0</value> + <value>wxgui_scopesink2_0</value> </param> <param> <key>_enabled</key> @@ -891,23 +848,23 @@ </param> <param> <key>type</key> - <value>float</value> + <value>complex</value> </param> <param> <key>title</key> - <value>Post-SYNC</value> + <value>RX Waveform</value> </param> <param> <key>samp_rate</key> - <value>sym_rate</value> + <value>sample_rate</value> </param> <param> <key>v_scale</key> - <value>0.5</value> + <value>0</value> </param> <param> <key>t_scale</key> - <value>20.0/sym_rate</value> + <value>20.0/sample_rate</value> </param> <param> <key>ac_couple</key> @@ -927,50 +884,74 @@ </param> <param> <key>notebook</key> - <value>displays, 1</value> + <value>displays, 0</value> </param> <param> <key>_coordinate</key> - <value>(872, 607)</value> + <value>(433, 570)</value> </param> <param> <key>_rotation</key> - <value>180</value> + <value>0</value> </param> </block> <block> - <key>notebook</key> + <key>wxgui_scopesink2</key> <param> <key>id</key> - <value>displays</value> + <value>wxgui_scopesink2_0_0</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>style</key> - <value>wx.NB_TOP</value> + <key>type</key> + <value>float</value> </param> <param> - <key>labels</key> - <value>['RX','PLL/SYNC']</value> + <key>title</key> + <value>Post-PLL</value> + </param> + <param> + <key>samp_rate</key> + <value>sample_rate</value> + </param> + <param> + <key>v_scale</key> + <value>0.5</value> + </param> + <param> + <key>t_scale</key> + <value>20.0/sample_rate</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>1</value> </param> <param> <key>grid_pos</key> - <value>1, 0, 1, 2</value> + <value>0, 0, 1, 1</value> </param> <param> <key>notebook</key> - <value></value> + <value>displays, 1</value> </param> <param> <key>_coordinate</key> - <value>(9, 99)</value> + <value>(618, 335)</value> </param> <param> <key>_rotation</key> - <value>0</value> + <value>180</value> </param> </block> <connection> @@ -998,12 +979,6 @@ <sink_key>0</sink_key> </connection> <connection> - <source_block_id>gr_binary_slicer_fb_0</source_block_id> - <sink_block_id>virtual_sink_1</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> <source_block_id>agr</source_block_id> <sink_block_id>noaa_hrpt_pll_cf_0</sink_block_id> <source_key>0</source_key> @@ -1016,32 +991,32 @@ <sink_key>0</sink_key> </connection> <connection> - <source_block_id>noaa_hrpt_pll_cf_0</source_block_id> - <sink_block_id>noaa_hrpt_sync_ff_0</sink_block_id> + <source_block_id>virtual_source_0</source_block_id> + <sink_block_id>gr_char_to_float_0</sink_block_id> <source_key>0</source_key> <sink_key>0</sink_key> </connection> <connection> - <source_block_id>noaa_hrpt_sync_ff_0</source_block_id> - <sink_block_id>gr_binary_slicer_fb_0</sink_block_id> + <source_block_id>noaa_hrpt_pll_cf_0</source_block_id> + <sink_block_id>noaa_hrpt_sync_fb_0</sink_block_id> <source_key>0</source_key> <sink_key>0</sink_key> </connection> <connection> - <source_block_id>noaa_hrpt_sync_ff_0</source_block_id> - <sink_block_id>wxgui_scopesink2_0_0_0_0</sink_block_id> + <source_block_id>noaa_hrpt_sync_fb_0</source_block_id> + <sink_block_id>virtual_sink_1</sink_block_id> <source_key>0</source_key> <sink_key>0</sink_key> </connection> <connection> - <source_block_id>virtual_source_0</source_block_id> - <sink_block_id>gr_char_to_float_0</sink_block_id> + <source_block_id>gr_char_to_float_0</source_block_id> + <sink_block_id>wxgui_scopesink2_0_0_0_0</sink_block_id> <source_key>0</source_key> <sink_key>0</sink_key> </connection> <connection> - <source_block_id>gr_float_to_char_0</source_block_id> - <sink_block_id>gr_file_sink_0</sink_block_id> + <source_block_id>gr_char_to_float_0</source_block_id> + <sink_block_id>gr_add_const_vxx_0</sink_block_id> <source_key>0</source_key> <sink_key>0</sink_key> </connection> @@ -1052,8 +1027,8 @@ <sink_key>0</sink_key> </connection> <connection> - <source_block_id>gr_char_to_float_0</source_block_id> - <sink_block_id>gr_add_const_vxx_0</sink_block_id> + <source_block_id>gr_float_to_char_0</source_block_id> + <sink_block_id>gr_file_sink_0</sink_block_id> <source_key>0</source_key> <sink_key>0</sink_key> </connection> diff --git a/gr-noaa/grc/usrp_rx_hrpt.py b/gr-noaa/grc/usrp_rx_hrpt.py index 74e3526706..10e2f31c04 100755 --- a/gr-noaa/grc/usrp_rx_hrpt.py +++ b/gr-noaa/grc/usrp_rx_hrpt.py @@ -2,7 +2,7 @@ ################################################## # Gnuradio Python Flow Graph # Title: USRP HRPT Receiver -# Generated: Mon Sep 7 13:05:09 2009 +# Generated: Tue Sep 8 14:58:57 2009 ################################################## from gnuradio import eng_notation @@ -99,12 +99,11 @@ class usrp_rx_hrpt(grc_wxgui.top_block_gui): ################################################## self.agr = gr.agc_cc(1e-6, 1.0, 1.0, 1.0) self.gr_add_const_vxx_0 = gr.add_const_vff((48.0, )) - self.gr_binary_slicer_fb_0 = gr.binary_slicer_fb() self.gr_char_to_float_0 = gr.char_to_float() self.gr_file_sink_0 = gr.file_sink(gr.sizeof_char*1, "bits.dat") self.gr_float_to_char_0 = gr.float_to_char() self.noaa_hrpt_pll_cf_0 = noaa.hrpt_pll_cf(pll_alpha, pll_alpha**2/4.0, max_carrier_offset) - self.noaa_hrpt_sync_ff_0 = noaa.hrpt_sync_ff(.005, .005*.005/4.0, sps, max_sync_offset) + self.noaa_hrpt_sync_fb_0 = noaa.hrpt_sync_fb(0.001, 0.001**2/4.0, sps, max_sync_offset) self.rx_fftsink = fftsink2.fft_sink_c( self.displays.GetPage(0).GetWin(), baseband_freq=1698e6, @@ -166,13 +165,12 @@ class usrp_rx_hrpt(grc_wxgui.top_block_gui): self.connect((self.agr, 0), (self.wxgui_scopesink2_0, 0)) self.connect((self.agr, 0), (self.noaa_hrpt_pll_cf_0, 0)) self.connect((self.noaa_hrpt_pll_cf_0, 0), (self.wxgui_scopesink2_0_0, 0)) - self.connect((self.noaa_hrpt_pll_cf_0, 0), (self.noaa_hrpt_sync_ff_0, 0)) - self.connect((self.noaa_hrpt_sync_ff_0, 0), (self.gr_binary_slicer_fb_0, 0)) - self.connect((self.noaa_hrpt_sync_ff_0, 0), (self.wxgui_scopesink2_0_0_0_0, 0)) - self.connect((self.gr_binary_slicer_fb_0, 0), (self.gr_char_to_float_0, 0)) - self.connect((self.gr_float_to_char_0, 0), (self.gr_file_sink_0, 0)) - self.connect((self.gr_add_const_vxx_0, 0), (self.gr_float_to_char_0, 0)) + self.connect((self.noaa_hrpt_sync_fb_0, 0), (self.gr_char_to_float_0, 0)) + self.connect((self.noaa_hrpt_pll_cf_0, 0), (self.noaa_hrpt_sync_fb_0, 0)) + self.connect((self.gr_char_to_float_0, 0), (self.wxgui_scopesink2_0_0_0_0, 0)) self.connect((self.gr_char_to_float_0, 0), (self.gr_add_const_vxx_0, 0)) + self.connect((self.gr_add_const_vxx_0, 0), (self.gr_float_to_char_0, 0)) + self.connect((self.gr_float_to_char_0, 0), (self.gr_file_sink_0, 0)) def set_decim(self, decim): self.decim = decim @@ -186,9 +184,9 @@ class usrp_rx_hrpt(grc_wxgui.top_block_gui): def set_sample_rate(self, sample_rate): self.sample_rate = sample_rate self.set_sps(self.sample_rate/self.sym_rate) + self.set_max_carrier_offset(2*math.pi*100e3/self.sample_rate) self.rx_fftsink.set_sample_rate(self.sample_rate) self.wxgui_scopesink2_0.set_sample_rate(self.sample_rate) - self.set_max_carrier_offset(2*math.pi*100e3/self.sample_rate) self.wxgui_scopesink2_0_0.set_sample_rate(self.sample_rate) def set_sps(self, sps): @@ -209,7 +207,7 @@ class usrp_rx_hrpt(grc_wxgui.top_block_gui): def set_max_sync_offset(self, max_sync_offset): self.max_sync_offset = max_sync_offset - self.noaa_hrpt_sync_ff_0.set_max_offset(self.max_sync_offset) + self.noaa_hrpt_sync_fb_0.set_max_offset(self.max_sync_offset) def set_max_carrier_offset(self, max_carrier_offset): self.max_carrier_offset = max_carrier_offset |