summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Rondeau <tom@trondeau.com>2013-10-08 15:56:26 -0400
committerTom Rondeau <tom@trondeau.com>2013-10-29 12:23:09 -0400
commitbb91d3f7edbfe39c8296ecb6e104bf2fafe84f3b (patch)
treec3550785150369152926e2a61f05701b6b0c43d5
parentf3f5a5ae0ae0093277494b2380a77c8eed439035 (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.cc2
-rw-r--r--gr-filter/grc/filter_fft_filter_xxx.xml12
-rw-r--r--gr-filter/grc/filter_fir_filter_xxx.xml12
-rw-r--r--gr-filter/grc/filter_interp_fir_filter_xxx.xml12
-rw-r--r--gr-qtgui/lib/time_sink_c_impl.cc1
-rw-r--r--gr-qtgui/lib/time_sink_f_impl.cc1
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