summaryrefslogtreecommitdiff
path: root/gr-noaa/grc
diff options
context:
space:
mode:
Diffstat (limited to 'gr-noaa/grc')
-rw-r--r--gr-noaa/grc/Makefile.am1
-rw-r--r--gr-noaa/grc/noaa_hrpt_deframer.xml12
-rw-r--r--gr-noaa/grc/usrp_rx_hrpt.grc367
-rwxr-xr-xgr-noaa/grc/usrp_rx_hrpt.py16
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