diff options
author | Tom Rondeau <tom@trondeau.com> | 2013-10-08 15:56:26 -0400 |
---|---|---|
committer | Tom Rondeau <tom@trondeau.com> | 2013-10-29 12:23:09 -0400 |
commit | bb91d3f7edbfe39c8296ecb6e104bf2fafe84f3b (patch) | |
tree | c3550785150369152926e2a61f05701b6b0c43d5 | |
parent | f3f5a5ae0ae0093277494b2380a77c8eed439035 (diff) |
Updated some blocks for the group_delay concept.
filter: FFT and (decim/interp) FIR filters can set through GRC.
blocks: delay block's group delay is fixed to the delay value.
qtgui: time sinks history is related to the group delay for displaying tags.
-rw-r--r-- | gr-blocks/lib/delay_impl.cc | 2 | ||||
-rw-r--r-- | gr-filter/grc/filter_fft_filter_xxx.xml | 12 | ||||
-rw-r--r-- | gr-filter/grc/filter_fir_filter_xxx.xml | 12 | ||||
-rw-r--r-- | gr-filter/grc/filter_interp_fir_filter_xxx.xml | 12 | ||||
-rw-r--r-- | gr-qtgui/lib/time_sink_c_impl.cc | 1 | ||||
-rw-r--r-- | gr-qtgui/lib/time_sink_f_impl.cc | 1 |
6 files changed, 36 insertions, 4 deletions
diff --git a/gr-blocks/lib/delay_impl.cc b/gr-blocks/lib/delay_impl.cc index 9d377fb1e6..342beab707 100644 --- a/gr-blocks/lib/delay_impl.cc +++ b/gr-blocks/lib/delay_impl.cc @@ -72,7 +72,7 @@ namespace gr { gr::thread::scoped_lock l(d_mutex_delay); int old = dly(); set_history(d+1); - set_tag_propagation_delay(d); + set_group_delay(history()); d_delta += dly() - old; } } diff --git a/gr-filter/grc/filter_fft_filter_xxx.xml b/gr-filter/grc/filter_fft_filter_xxx.xml index ec627fe157..cb6926dde3 100644 --- a/gr-filter/grc/filter_fft_filter_xxx.xml +++ b/gr-filter/grc/filter_fft_filter_xxx.xml @@ -9,9 +9,12 @@ <key>fft_filter_xxx</key> <import>from gnuradio import filter</import> <import>from gnuradio.filter import firdes</import> - <make>filter.fft_filter_$(type)($decim, $taps, $nthreads)</make> + <make>filter.fft_filter_$(type)($decim, $taps, $nthreads) +self.$(id).set_group_delay($grp_delay) +</make> <callback>set_taps($taps)</callback> <callback>set_nthreads($nthreads)</callback> + <callback>set_group_delay($grp_delay)</callback> <param> <name>Type</name> <key>type</key> @@ -43,6 +46,13 @@ <type>$type.taps</type> </param> <param> + <name>Group Delay</name> + <key>grp_delay</key> + <value>0</value> + <type>int</type> + <hide>part</hide> + </param> + <param> <name>Num. Threads</name> <key>nthreads</key> <value>1</value> diff --git a/gr-filter/grc/filter_fir_filter_xxx.xml b/gr-filter/grc/filter_fir_filter_xxx.xml index 3925eb5559..4fe81ea994 100644 --- a/gr-filter/grc/filter_fir_filter_xxx.xml +++ b/gr-filter/grc/filter_fir_filter_xxx.xml @@ -9,8 +9,11 @@ <key>fir_filter_xxx</key> <import>from gnuradio import filter</import> <import>from gnuradio.filter import firdes</import> - <make>filter.fir_filter_$(type)($decim, $taps)</make> + <make>filter.fir_filter_$(type)($decim, $taps) +self.$(id).set_group_delay($grp_delay) +</make> <callback>set_taps($taps)</callback> + <callback>set_group_delay($grp_delay)</callback> <param> <name>Type</name> <key>type</key> @@ -69,6 +72,13 @@ <key>taps</key> <type>$type.taps</type> </param> + <param> + <name>Group Delay</name> + <key>grp_delay</key> + <value>0</value> + <type>int</type> + <hide>part</hide> + </param> <sink> <name>in</name> <type>$type.input</type> diff --git a/gr-filter/grc/filter_interp_fir_filter_xxx.xml b/gr-filter/grc/filter_interp_fir_filter_xxx.xml index 98a143f538..64dbd1be03 100644 --- a/gr-filter/grc/filter_interp_fir_filter_xxx.xml +++ b/gr-filter/grc/filter_interp_fir_filter_xxx.xml @@ -9,8 +9,11 @@ <key>interp_fir_filter_xxx</key> <import>from gnuradio import filter</import> <import>from gnuradio.filter import firdes</import> - <make>filter.interp_fir_filter_$(type)($interp, $taps)</make> + <make>filter.interp_fir_filter_$(type)($interp, $taps) +self.$(id).set_group_delay($grp_delay) +</make> <callback>set_taps($taps)</callback> + <callback>set_group_delay($grp_delay)</callback> <param> <name>Type</name> <key>type</key> @@ -69,6 +72,13 @@ <key>taps</key> <type>$type.taps</type> </param> + <param> + <name>Group Delay</name> + <key>grp_delay</key> + <value>0</value> + <type>int</type> + <hide>part</hide> + </param> <sink> <name>in</name> <type>$type.input</type> diff --git a/gr-qtgui/lib/time_sink_c_impl.cc b/gr-qtgui/lib/time_sink_c_impl.cc index fe6f115b1f..7bde3b657b 100644 --- a/gr-qtgui/lib/time_sink_c_impl.cc +++ b/gr-qtgui/lib/time_sink_c_impl.cc @@ -218,6 +218,7 @@ namespace gr { d_main_gui->setTriggerChannel(d_trigger_channel); set_history(d_trigger_delay + 2); + set_group_delay(d_trigger_delay); } void diff --git a/gr-qtgui/lib/time_sink_f_impl.cc b/gr-qtgui/lib/time_sink_f_impl.cc index ca3cef3d92..6cea6cffcd 100644 --- a/gr-qtgui/lib/time_sink_f_impl.cc +++ b/gr-qtgui/lib/time_sink_f_impl.cc @@ -212,6 +212,7 @@ namespace gr { d_main_gui->setTriggerChannel(d_trigger_channel); set_history(d_trigger_delay + 2); + set_group_delay(d_trigger_delay); } void |