diff options
Diffstat (limited to 'gr-noaa/grc')
-rw-r--r-- | gr-noaa/grc/Makefile.am | 1 | ||||
-rw-r--r-- | gr-noaa/grc/noaa_hrpt_deframer.xml | 12 | ||||
-rw-r--r-- | gr-noaa/grc/usrp_rx_hrpt.grc | 367 | ||||
-rwxr-xr-x | gr-noaa/grc/usrp_rx_hrpt.py | 16 |
4 files changed, 215 insertions, 181 deletions
diff --git a/gr-noaa/grc/Makefile.am b/gr-noaa/grc/Makefile.am index e56bd354d..4e4c0bae0 100644 --- a/gr-noaa/grc/Makefile.am +++ b/gr-noaa/grc/Makefile.am @@ -28,6 +28,7 @@ dist_bin_SCRIPTS = \ usrp_rx_lrit.py dist_grcblocks_DATA = \ + noaa_hrpt_deframer.xml \ noaa_hrpt_pll_cf.xml \ noaa_hrpt_sync_fb.xml diff --git a/gr-noaa/grc/noaa_hrpt_deframer.xml b/gr-noaa/grc/noaa_hrpt_deframer.xml new file mode 100644 index 000000000..bc68f71d3 --- /dev/null +++ b/gr-noaa/grc/noaa_hrpt_deframer.xml @@ -0,0 +1,12 @@ +<?xml version="1.0"?> +<block> + <name>HRPT Deframer</name> + <key>noaa_hrpt_deframer</key> + <category>NOAA</category> + <import>from gnuradio import noaa</import> + <make>noaa.hrpt_deframer()</make> + <sink> + <name>in</name> + <type>byte</type> + </sink> +</block> diff --git a/gr-noaa/grc/usrp_rx_hrpt.grc b/gr-noaa/grc/usrp_rx_hrpt.grc index 25b133532..715846743 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>Tue Sep 8 14:57:48 2009</timestamp> + <timestamp>Tue Sep 8 21:03:12 2009</timestamp> <block> <key>options</key> <param> @@ -378,41 +378,6 @@ </param> </block> <block> - <key>gr_file_source</key> - <param> - <key>id</key> - <value>src</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>file</key> - <value>poes-d16.dat</value> - </param> - <param> - <key>type</key> - <value>complex</value> - </param> - <param> - <key>repeat</key> - <value>False</value> - </param> - <param> - <key>vlen</key> - <value>1</value> - </param> - <param> - <key>_coordinate</key> - <value>(34, 423)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> <key>gr_agc_xx</key> <param> <key>id</key> @@ -541,41 +506,6 @@ </param> </block> <block> - <key>noaa_hrpt_sync_fb</key> - <param> - <key>id</key> - <value>noaa_hrpt_sync_fb_0</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>alpha</key> - <value>0.001</value> - </param> - <param> - <key>beta</key> - <value>0.001**2/4.0</value> - </param> - <param> - <key>sps</key> - <value>sps</value> - </param> - <param> - <key>max_offset</key> - <value>max_sync_offset</value> - </param> - <param> - <key>_coordinate</key> - <value>(856, 494)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> <key>virtual_sink</key> <param> <key>id</key> @@ -618,10 +548,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> @@ -632,66 +562,103 @@ <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>(692, 919)</value> + <value>(452, 990)</value> </param> <param> <key>_rotation</key> - <value>0</value> + <value>180</value> </param> </block> <block> - <key>gr_float_to_char</key> + <key>wxgui_scopesink2</key> <param> <key>id</key> - <value>gr_float_to_char_0</value> + <value>wxgui_scopesink2_0</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>_coordinate</key> - <value>(848, 923)</value> + <key>type</key> + <value>complex</value> </param> <param> - <key>_rotation</key> - <value>0</value> + <key>title</key> + <value>RX Waveform</value> </param> - </block> - <block> - <key>gr_file_sink</key> <param> - <key>id</key> - <value>gr_file_sink_0</value> + <key>samp_rate</key> + <value>sample_rate</value> </param> <param> - <key>_enabled</key> - <value>True</value> + <key>v_scale</key> + <value>0</value> </param> <param> - <key>file</key> - <value>bits.dat</value> + <key>t_scale</key> + <value>20.0/sample_rate</value> </param> <param> - <key>type</key> - <value>byte</value> + <key>ac_couple</key> + <value>False</value> </param> <param> - <key>vlen</key> + <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>(1020, 919)</value> + <value>(433, 570)</value> </param> <param> <key>_rotation</key> @@ -702,7 +669,7 @@ <key>wxgui_scopesink2</key> <param> <key>id</key> - <value>wxgui_scopesink2_0_0_0_0</value> + <value>wxgui_scopesink2_0_0</value> </param> <param> <key>_enabled</key> @@ -714,11 +681,11 @@ </param> <param> <key>title</key> - <value>Post-SYNC</value> + <value>Post-PLL</value> </param> <param> <key>samp_rate</key> - <value>sym_rate</value> + <value>sample_rate</value> </param> <param> <key>v_scale</key> @@ -726,7 +693,7 @@ </param> <param> <key>t_scale</key> - <value>20.0/sym_rate</value> + <value>20.0/sample_rate</value> </param> <param> <key>ac_couple</key> @@ -742,7 +709,7 @@ </param> <param> <key>grid_pos</key> - <value>1, 0, 1, 1</value> + <value>0, 0, 1, 1</value> </param> <param> <key>notebook</key> @@ -750,7 +717,7 @@ </param> <param> <key>_coordinate</key> - <value>(452, 990)</value> + <value>(618, 335)</value> </param> <param> <key>_rotation</key> @@ -758,78 +725,88 @@ </param> </block> <block> - <key>wxgui_fftsink2</key> + <key>noaa_hrpt_sync_fb</key> <param> <key>id</key> - <value>rx_fftsink</value> + <value>noaa_hrpt_sync_fb_0</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>type</key> - <value>complex</value> + <key>alpha</key> + <value>0.001</value> </param> <param> - <key>title</key> - <value>RX Spectrum</value> + <key>beta</key> + <value>0.001**2/4.0</value> </param> <param> - <key>samp_rate</key> - <value>sample_rate</value> + <key>sps</key> + <value>sps</value> </param> <param> - <key>baseband_freq</key> - <value>1698e6</value> + <key>max_offset</key> + <value>max_sync_offset</value> </param> <param> - <key>y_per_div</key> - <value>5</value> + <key>_coordinate</key> + <value>(856, 494)</value> </param> <param> - <key>y_divs</key> - <value>8</value> + <key>_rotation</key> + <value>0</value> </param> + </block> + <block> + <key>noaa_hrpt_deframer</key> <param> - <key>ref_level</key> - <value>20</value> + <key>id</key> + <value>noaa_hrpt_deframer_0</value> </param> <param> - <key>ref_scale</key> - <value>2.0</value> + <key>_enabled</key> + <value>True</value> </param> <param> - <key>fft_size</key> - <value>1024</value> + <key>_coordinate</key> + <value>(1110, 631)</value> </param> <param> - <key>fft_rate</key> - <value>30</value> + <key>_rotation</key> + <value>0</value> </param> + </block> + <block> + <key>gr_file_source</key> <param> - <key>peak_hold</key> - <value>False</value> + <key>id</key> + <value>src</value> </param> <param> - <key>average</key> + <key>_enabled</key> <value>True</value> </param> <param> - <key>avg_alpha</key> - <value>0.1</value> + <key>file</key> + <value>poes-d16.dat</value> </param> <param> - <key>grid_pos</key> - <value>0, 0, 1, 1</value> + <key>type</key> + <value>complex</value> </param> <param> - <key>notebook</key> - <value>displays, 0</value> + <key>repeat</key> + <value>True</value> + </param> + <param> + <key>vlen</key> + <value>1</value> </param> <param> <key>_coordinate</key> - <value>(434, 269)</value> + <value>(34, 423)</value> </param> <param> <key>_rotation</key> @@ -837,58 +814,80 @@ </param> </block> <block> - <key>wxgui_scopesink2</key> + <key>gr_add_const_vxx</key> <param> <key>id</key> - <value>wxgui_scopesink2_0</value> + <value>gr_add_const_vxx_0</value> </param> <param> <key>_enabled</key> - <value>True</value> + <value>False</value> </param> <param> <key>type</key> - <value>complex</value> + <value>float</value> </param> <param> - <key>title</key> - <value>RX Waveform</value> + <key>const</key> + <value>48.0</value> </param> <param> - <key>samp_rate</key> - <value>sample_rate</value> + <key>vlen</key> + <value>1</value> </param> <param> - <key>v_scale</key> + <key>_coordinate</key> + <value>(692, 919)</value> + </param> + <param> + <key>_rotation</key> <value>0</value> </param> + </block> + <block> + <key>gr_float_to_char</key> <param> - <key>t_scale</key> - <value>20.0/sample_rate</value> + <key>id</key> + <value>gr_float_to_char_0</value> </param> <param> - <key>ac_couple</key> + <key>_enabled</key> <value>False</value> </param> <param> - <key>xy_mode</key> + <key>_coordinate</key> + <value>(848, 923)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>gr_file_sink</key> + <param> + <key>id</key> + <value>gr_file_sink_0</value> + </param> + <param> + <key>_enabled</key> <value>False</value> </param> <param> - <key>num_inputs</key> - <value>1</value> + <key>file</key> + <value>bits.dat</value> </param> <param> - <key>grid_pos</key> - <value>1, 0, 1, 1</value> + <key>type</key> + <value>byte</value> </param> <param> - <key>notebook</key> - <value>displays, 0</value> + <key>vlen</key> + <value>1</value> </param> <param> <key>_coordinate</key> - <value>(433, 570)</value> + <value>(1020, 919)</value> </param> <param> <key>_rotation</key> @@ -896,10 +895,10 @@ </param> </block> <block> - <key>wxgui_scopesink2</key> + <key>wxgui_fftsink2</key> <param> <key>id</key> - <value>wxgui_scopesink2_0_0</value> + <value>rx_fftsink</value> </param> <param> <key>_enabled</key> @@ -907,35 +906,55 @@ </param> <param> <key>type</key> - <value>float</value> + <value>complex</value> </param> <param> <key>title</key> - <value>Post-PLL</value> + <value>RX Spectrum</value> </param> <param> <key>samp_rate</key> <value>sample_rate</value> </param> <param> - <key>v_scale</key> - <value>0.5</value> + <key>baseband_freq</key> + <value>1698e6</value> </param> <param> - <key>t_scale</key> - <value>20.0/sample_rate</value> + <key>y_per_div</key> + <value>5</value> </param> <param> - <key>ac_couple</key> - <value>False</value> + <key>y_divs</key> + <value>8</value> </param> <param> - <key>xy_mode</key> + <key>ref_level</key> + <value>-5</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>num_inputs</key> - <value>1</value> + <key>average</key> + <value>True</value> + </param> + <param> + <key>avg_alpha</key> + <value>0.1</value> </param> <param> <key>grid_pos</key> @@ -943,15 +962,15 @@ </param> <param> <key>notebook</key> - <value>displays, 1</value> + <value>displays, 0</value> </param> <param> <key>_coordinate</key> - <value>(618, 335)</value> + <value>(434, 269)</value> </param> <param> <key>_rotation</key> - <value>180</value> + <value>0</value> </param> </block> <connection> @@ -1032,4 +1051,10 @@ <source_key>0</source_key> <sink_key>0</sink_key> </connection> + <connection> + <source_block_id>noaa_hrpt_sync_fb_0</source_block_id> + <sink_block_id>noaa_hrpt_deframer_0</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> </flow_graph> diff --git a/gr-noaa/grc/usrp_rx_hrpt.py b/gr-noaa/grc/usrp_rx_hrpt.py index 10e2f31c0..40cc517fc 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: Tue Sep 8 14:58:57 2009 +# Generated: Tue Sep 8 21:03:12 2009 ################################################## from gnuradio import eng_notation @@ -98,10 +98,8 @@ class usrp_rx_hrpt(grc_wxgui.top_block_gui): # Blocks ################################################## 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_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_deframer_0 = noaa.hrpt_deframer() self.noaa_hrpt_pll_cf_0 = noaa.hrpt_pll_cf(pll_alpha, pll_alpha**2/4.0, max_carrier_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( @@ -109,7 +107,7 @@ class usrp_rx_hrpt(grc_wxgui.top_block_gui): baseband_freq=1698e6, y_per_div=5, y_divs=8, - ref_level=20, + ref_level=-5, ref_scale=2.0, sample_rate=sample_rate, fft_size=1024, @@ -120,7 +118,7 @@ class usrp_rx_hrpt(grc_wxgui.top_block_gui): peak_hold=False, ) self.displays.GetPage(0).GridAdd(self.rx_fftsink.win, 0, 0, 1, 1) - self.src = gr.file_source(gr.sizeof_gr_complex*1, "poes-d16.dat", False) + self.src = gr.file_source(gr.sizeof_gr_complex*1, "poes-d16.dat", True) self.throttle = gr.throttle(gr.sizeof_gr_complex*1, sample_rate) self.wxgui_scopesink2_0 = scopesink2.scope_sink_c( self.displays.GetPage(0).GetWin(), @@ -168,9 +166,7 @@ class usrp_rx_hrpt(grc_wxgui.top_block_gui): 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)) + self.connect((self.noaa_hrpt_sync_fb_0, 0), (self.noaa_hrpt_deframer_0, 0)) def set_decim(self, decim): self.decim = decim @@ -185,9 +181,9 @@ class usrp_rx_hrpt(grc_wxgui.top_block_gui): 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.wxgui_scopesink2_0_0.set_sample_rate(self.sample_rate) + self.rx_fftsink.set_sample_rate(self.sample_rate) def set_sps(self, sps): self.sps = sps |