aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSylvain Munaut <tnt@246tNt.com>2015-01-30 10:11:02 +0100
committerSylvain Munaut <tnt@246tNt.com>2015-01-30 10:11:02 +0100
commit93b2ce91b037b3369edcd6e480c2271ff088418e (patch)
treeed8ccac47cd49ac4888a34423b4f9cf20b3a3526
parent5ec66c633738d86043cc9c34347cf839710a6763 (diff)
Make use of the new delimited burst feature
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
-rw-r--r--gr-gmr1/apps/gmr_rach_scan.grc264
-rw-r--r--gr-gmr1/lib/rach_detect_fft_impl.cc22
2 files changed, 147 insertions, 139 deletions
diff --git a/gr-gmr1/apps/gmr_rach_scan.grc b/gr-gmr1/apps/gmr_rach_scan.grc
index 0971bca..d135a90 100644
--- a/gr-gmr1/apps/gmr_rach_scan.grc
+++ b/gr-gmr1/apps/gmr_rach_scan.grc
@@ -1,5 +1,5 @@
<?xml version='1.0' encoding='ASCII'?>
-<?grc format='1' created='3.7.5'?>
+<?grc format='1' created='3.7.7'?>
<flow_graph>
<timestamp>Sun Oct 12 17:41:33 2014</timestamp>
<block>
@@ -144,116 +144,6 @@
</param>
</block>
<block>
- <key>blocks_tagged_stream_multiply_length</key>
- <param>
- <key>id</key>
- <value>blocks_tagged_stream_multiply_length_0</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>type</key>
- <value>complex</value>
- </param>
- <param>
- <key>lengthtagname</key>
- <value>packet_len</value>
- </param>
- <param>
- <key>vlen</key>
- <value>1</value>
- </param>
- <param>
- <key>c</key>
- <value>93600 / samp_rate</value>
- </param>
- <param>
- <key>alias</key>
- <value></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, 352)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>pfb_arb_resampler_xxx</key>
- <param>
- <key>id</key>
- <value>pfb_arb_resampler_xxx_0</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>type</key>
- <value>ccf</value>
- </param>
- <param>
- <key>rrate</key>
- <value>93600 / samp_rate</value>
- </param>
- <param>
- <key>taps</key>
- <value>firdes.low_pass(1.0, 32 * samp_rate, 16e3, 2e3)</value>
- </param>
- <param>
- <key>nfilts</key>
- <value>32</value>
- </param>
- <param>
- <key>atten</key>
- <value>100</value>
- </param>
- <param>
- <key>samp_delay</key>
- <value>0</value>
- </param>
- <param>
- <key>alias</key>
- <value></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>(280, 323)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
<key>parameter</key>
<param>
<key>id</key>
@@ -532,6 +422,92 @@
</param>
</block>
<block>
+ <key>blocks_message_debug</key>
+ <param>
+ <key>id</key>
+ <value>blocks_message_debug_0</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>alias</key>
+ <value></value>
+ </param>
+ <param>
+ <key>affinity</key>
+ <value></value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(552, 568)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <block>
+ <key>pfb_arb_resampler_xxx</key>
+ <param>
+ <key>id</key>
+ <value>pfb_arb_resampler_xxx_0</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>type</key>
+ <value>ccf</value>
+ </param>
+ <param>
+ <key>rrate</key>
+ <value>93600 / samp_rate</value>
+ </param>
+ <param>
+ <key>taps</key>
+ <value>firdes.low_pass(1.0, 32 * samp_rate, 16e3, 2e3)</value>
+ </param>
+ <param>
+ <key>nfilts</key>
+ <value>32</value>
+ </param>
+ <param>
+ <key>atten</key>
+ <value>100</value>
+ </param>
+ <param>
+ <key>samp_delay</key>
+ <value>0</value>
+ </param>
+ <param>
+ <key>alias</key>
+ <value></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>(280, 323)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <block>
<key>blocks_file_sink</key>
<param>
<key>id</key>
@@ -579,22 +555,18 @@
</param>
</block>
<block>
- <key>rach_demod</key>
+ <key>burst_to_tagged_stream</key>
<param>
<key>id</key>
- <value>rach_demod_0</value>
+ <value>burst_to_tagged_stream_0</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>sps</key>
- <value>4</value>
- </param>
- <param>
- <key>etoa</key>
- <value>0</value>
+ <key>max_length</key>
+ <value>8192</value>
</param>
<param>
<key>len_tag_key</key>
@@ -618,7 +590,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(248, 499)</value>
+ <value>(544, 339)</value>
</param>
<param>
<key>_rotation</key>
@@ -626,16 +598,28 @@
</param>
</block>
<block>
- <key>blocks_message_debug</key>
+ <key>rach_demod</key>
<param>
<key>id</key>
- <value>blocks_message_debug_0</value>
+ <value>rach_demod_0</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
+ <key>sps</key>
+ <value>4</value>
+ </param>
+ <param>
+ <key>etoa</key>
+ <value>0</value>
+ </param>
+ <param>
+ <key>len_tag_key</key>
+ <value>packet_len</value>
+ </param>
+ <param>
<key>alias</key>
<value></value>
</param>
@@ -644,8 +628,16 @@
<value></value>
</param>
<param>
+ <key>minoutbuf</key>
+ <value>0</value>
+ </param>
+ <param>
+ <key>maxoutbuf</key>
+ <value>0</value>
+ </param>
+ <param>
<key>_coordinate</key>
- <value>(552, 568)</value>
+ <value>(248, 499)</value>
</param>
<param>
<key>_rotation</key>
@@ -689,33 +681,27 @@
<sink_key>pdus</sink_key>
</connection>
<connection>
- <source_block_id>pfb_arb_resampler_xxx_0</source_block_id>
- <sink_block_id>blocks_tagged_stream_multiply_length_0</sink_block_id>
- <source_key>0</source_key>
- <sink_key>0</sink_key>
+ <source_block_id>rach_demod_0</source_block_id>
+ <sink_block_id>blocks_message_debug_0</sink_block_id>
+ <source_key>pdus</source_key>
+ <sink_key>print_pdu</sink_key>
</connection>
<connection>
- <source_block_id>blocks_tagged_stream_multiply_length_0</source_block_id>
- <sink_block_id>rach_demod_0</sink_block_id>
+ <source_block_id>pfb_arb_resampler_xxx_0</source_block_id>
+ <sink_block_id>burst_to_tagged_stream_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
- <source_block_id>blocks_tagged_stream_multiply_length_0</source_block_id>
- <sink_block_id>blocks_tag_debug_0</sink_block_id>
+ <source_block_id>burst_to_tagged_stream_0</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_tagged_stream_multiply_length_0</source_block_id>
- <sink_block_id>blocks_file_sink_0</sink_block_id>
+ <source_block_id>burst_to_tagged_stream_0</source_block_id>
+ <sink_block_id>rach_demod_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
- <connection>
- <source_block_id>rach_demod_0</source_block_id>
- <sink_block_id>blocks_message_debug_0</sink_block_id>
- <source_key>pdus</source_key>
- <sink_key>print_pdu</sink_key>
- </connection>
</flow_graph>
diff --git a/gr-gmr1/lib/rach_detect_fft_impl.cc b/gr-gmr1/lib/rach_detect_fft_impl.cc
index 5f7d047..48838a7 100644
--- a/gr-gmr1/lib/rach_detect_fft_impl.cc
+++ b/gr-gmr1/lib/rach_detect_fft_impl.cc
@@ -34,6 +34,11 @@
namespace gr {
namespace gmr1 {
+ /* FIXME: Those should be in a common include */
+static const pmt::pmt_t SOB_KEY = pmt::string_to_symbol("sob");
+static const pmt::pmt_t EOB_KEY = pmt::string_to_symbol("eob");
+
+
rach_detect_fft::sptr
rach_detect_fft::make(
int fft_size, int overlap_ratio, float threshold,
@@ -242,6 +247,14 @@ rach_detect_fft_impl::general_work(
this->d_burst_length_pmt
);
+ /* Burst SOB marker */
+ add_item_tag(
+ 0,
+ this->nitems_written(0),
+ SOB_KEY,
+ pmt::PMT_NIL
+ );
+
/* Burst angular frequency */
add_item_tag(
0,
@@ -261,6 +274,15 @@ rach_detect_fft_impl::general_work(
if (this->d_out_pos == this->d_burst_length)
{
+ /* Burst EOB marker */
+ add_item_tag(
+ 0,
+ this->nitems_written(0) + to_copy - 1,
+ EOB_KEY,
+ pmt::PMT_NIL
+ );
+
+ /* Reset for next */
this->d_peaks_pending.pop_back();
this->d_out_pos = 0;
}