summaryrefslogtreecommitdiff
path: root/gr-filter/grc
diff options
context:
space:
mode:
authorTom Rondeau2012-06-18 13:34:51 -0400
committerTom Rondeau2012-06-18 13:34:51 -0400
commitf5449ce2e0a665b725a27855cd94f28a976da792 (patch)
tree8849f8fdfcb6d5d6782a449b75042137ee44250a /gr-filter/grc
parentf049a184c38a9344efea24ec813a13499237e23b (diff)
downloadgnuradio-f5449ce2e0a665b725a27855cd94f28a976da792.tar.gz
gnuradio-f5449ce2e0a665b725a27855cd94f28a976da792.tar.bz2
gnuradio-f5449ce2e0a665b725a27855cd94f28a976da792.zip
filter: added interp_fir_filter with QA and GRC.
Diffstat (limited to 'gr-filter/grc')
-rw-r--r--gr-filter/grc/CMakeLists.txt1
-rw-r--r--gr-filter/grc/filter_block_tree.xml1
-rw-r--r--gr-filter/grc/interp_fir_filter_xxx.xml80
3 files changed, 82 insertions, 0 deletions
diff --git a/gr-filter/grc/CMakeLists.txt b/gr-filter/grc/CMakeLists.txt
index 48d452d39..a269c2b25 100644
--- a/gr-filter/grc/CMakeLists.txt
+++ b/gr-filter/grc/CMakeLists.txt
@@ -27,6 +27,7 @@ install(FILES
freq_xlating_fir_filter_xxx.xml
hilbert_fc.xml
iir_filter_ffd.xml
+ interp_fir_filter_xxx.xml
pfb_channelizer.xml
single_pole_iir_filter_xx.xml
DESTINATION ${GRC_BLOCKS_DIR}
diff --git a/gr-filter/grc/filter_block_tree.xml b/gr-filter/grc/filter_block_tree.xml
index 7f34a1b70..a5630bc88 100644
--- a/gr-filter/grc/filter_block_tree.xml
+++ b/gr-filter/grc/filter_block_tree.xml
@@ -38,6 +38,7 @@
<block>freq_xlating_fir_filter_xxx</block>
<block>hilbert_fc</block>
<block>iir_filter_ffd</block>
+ <block>interp_fir_filter_xxx</block>
<block>pfb_channelizer_ccf</block>
<block>single_pole_iir_filter_xx</block>
</cat>
diff --git a/gr-filter/grc/interp_fir_filter_xxx.xml b/gr-filter/grc/interp_fir_filter_xxx.xml
new file mode 100644
index 000000000..98a143f53
--- /dev/null
+++ b/gr-filter/grc/interp_fir_filter_xxx.xml
@@ -0,0 +1,80 @@
+<?xml version="1.0"?>
+<!--
+###################################################
+##Interpolating FIR Filter
+###################################################
+ -->
+<block>
+ <name>Interpolating FIR Filter</name>
+ <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>
+ <callback>set_taps($taps)</callback>
+ <param>
+ <name>Type</name>
+ <key>type</key>
+ <type>enum</type>
+ <option>
+ <name>Complex->Complex (Complex Taps)</name>
+ <key>ccc</key>
+ <opt>input:complex</opt>
+ <opt>output:complex</opt>
+ <opt>taps:complex_vector</opt>
+ </option>
+ <option>
+ <name>Complex->Complex (Real Taps)</name>
+ <key>ccf</key>
+ <opt>input:complex</opt>
+ <opt>output:complex</opt>
+ <opt>taps:real_vector</opt>
+ </option>
+ <option>
+ <name>Float->Complex (Complex Taps)</name>
+ <key>fcc</key>
+ <opt>input:float</opt>
+ <opt>output:complex</opt>
+ <opt>taps:complex_vector</opt>
+ </option>
+ <option>
+ <name>Float->Float (Real Taps)</name>
+ <key>fff</key>
+ <opt>input:float</opt>
+ <opt>output:float</opt>
+ <opt>taps:real_vector</opt>
+ </option>
+ <option>
+ <name>Float->Short (Real Taps)</name>
+ <key>fsf</key>
+ <opt>input:float</opt>
+ <opt>output:short</opt>
+ <opt>taps:real_vector</opt>
+ </option>
+ <option>
+ <name>Short->Complex (Complex Taps)</name>
+ <key>scc</key>
+ <opt>input:short</opt>
+ <opt>output:complex</opt>
+ <opt>taps:complex_vector</opt>
+ </option>
+ </param>
+ <param>
+ <name>Interpolation</name>
+ <key>interp</key>
+ <value>1</value>
+ <type>int</type>
+ </param>
+ <param>
+ <name>Taps</name>
+ <key>taps</key>
+ <type>$type.taps</type>
+ </param>
+ <sink>
+ <name>in</name>
+ <type>$type.input</type>
+ </sink>
+ <source>
+ <name>out</name>
+ <type>$type.output</type>
+ </source>
+</block>