3 ###################################################
4 ##Band Pass Filter: Custom wrapper
5 ###################################################
8 <name>Band Pass Filter</name>
9 <key>band_pass_filter</key>
10 <import>from gnuradio import gr</import>
11 <import>from gnuradio.gr import firdes</import>
12 <make>gr.$(type)(#if str($type).startswith('interp') then $interp else $decim#, firdes.$(type.fcn)(
13 $gain, $samp_rate, $low_cutoff_freq, $high_cutoff_freq, $width, firdes.$window, $beta))</make>
14 <callback>set_taps(firdes.$(type.fcn)($gain, $samp_rate, $low_cutoff_freq, $high_cutoff_freq, $width, firdes.$window, $beta))</callback>
19 <!-- Real Band Pass Taps -->
21 <name>Complex->Complex (Real Taps) (Decim)</name>
22 <key>fir_filter_ccf</key>
23 <opt>input:complex</opt>
24 <opt>output:complex</opt>
25 <opt>fcn:band_pass</opt>
28 <name>Complex->Complex (Real Taps) (Interp)</name>
29 <key>interp_fir_filter_ccf</key>
30 <opt>input:complex</opt>
31 <opt>output:complex</opt>
32 <opt>fcn:band_pass</opt>
35 <name>Float->Float (Real Taps) (Decim)</name>
36 <key>fir_filter_fff</key>
37 <opt>input:float</opt>
38 <opt>output:float</opt>
39 <opt>fcn:band_pass</opt>
42 <name>Float->Float (Real Taps) (Interp)</name>
43 <key>interp_fir_filter_fff</key>
44 <opt>input:float</opt>
45 <opt>output:float</opt>
46 <opt>fcn:band_pass</opt>
48 <!-- Complex Band Pass Taps -->
50 <name>Complex->Complex (Complex Taps) (Decim)</name>
51 <key>fir_filter_ccc</key>
52 <opt>input:complex</opt>
53 <opt>output:complex</opt>
54 <opt>fcn:complex_band_pass</opt>
57 <name>Complex->Complex (Complex Taps) (Interp)</name>
58 <key>interp_fir_filter_ccc</key>
59 <opt>input:complex</opt>
60 <opt>output:complex</opt>
61 <opt>fcn:complex_band_pass</opt>
64 <name>Float->Complex (Complex Taps) (Decim)</name>
65 <key>fir_filter_fcc</key>
66 <opt>input:float</opt>
67 <opt>output:complex</opt>
68 <opt>fcn:complex_band_pass</opt>
71 <name>Float->Complex (Complex Taps) (Interp)</name>
72 <key>interp_fir_filter_fcc</key>
73 <opt>input:float</opt>
74 <opt>output:complex</opt>
75 <opt>fcn:complex_band_pass</opt>
79 <name>Decimation</name>
83 <hide>#if str($type).startswith('interp') then 'all' else 'none'#</hide>
86 <name>Interpolation</name>
90 <hide>#if str($type).startswith('interp') then 'none' else 'all'#</hide>
99 <name>Sample Rate</name>
101 <value>samp_rate</value>
105 <name>Low Cutoff Freq</name>
106 <key>low_cutoff_freq</key>
110 <name>High Cutoff Freq</name>
111 <key>high_cutoff_freq</key>
115 <name>Transition Width</name>
125 <key>WIN_HAMMING</key>
132 <name>Blackman</name>
133 <key>WIN_BLACKMAN</key>
136 <name>Rectangular</name>
137 <key>WIN_RECTANGULAR</key>
141 <key>WIN_KAISER</key>
152 <type>$type.input</type>
156 <type>$type.output</type>
159 This filter is a convenience wrapper for an fir filter and a firdes taps generating function.
161 Sample rate, cutoff frequency, and transition width are in Hertz.
163 The beta paramater only applies to the Kaiser window.