diff options
author | Sylvain Munaut <tnt@246tNt.com> | 2015-01-30 10:11:02 +0100 |
---|---|---|
committer | Sylvain Munaut <tnt@246tNt.com> | 2015-01-30 10:11:02 +0100 |
commit | 93b2ce91b037b3369edcd6e480c2271ff088418e (patch) | |
tree | ed8ccac47cd49ac4888a34423b4f9cf20b3a3526 | |
parent | 5ec66c633738d86043cc9c34347cf839710a6763 (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.grc | 264 | ||||
-rw-r--r-- | gr-gmr1/lib/rach_detect_fft_impl.cc | 22 |
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; } |