Skip to content

Commit 2a1957c

Browse files
committed
filter: added variable_band_reject_filter_taps and variable_rrc_filter_taps
1 parent d427603 commit 2a1957c

4 files changed

+135
-0
lines changed

gr-filter/grc/CMakeLists.txt

+2
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,8 @@ install(FILES
4848
variable_low_pass_filter_taps.xml
4949
variable_high_pass_filter_taps.xml
5050
variable_band_pass_filter_taps.xml
51+
variable_band_reject_filter_taps.xml
52+
variable_rrc_filter_taps.xml
5153
DESTINATION ${GRC_BLOCKS_DIR}
5254
COMPONENT "filter_python"
5355
)

gr-filter/grc/filter_block_tree.xml

+2
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,8 @@
3434
<block>variable_low_pass_filter_taps</block>
3535
<block>variable_high_pass_filter_taps</block>
3636
<block>variable_band_pass_filter_taps</block>
37+
<block>variable_band_reject_filter_taps</block>
38+
<block>variable_rrc_filter_taps</block>
3739
<!-- FIR convenience filters -->
3840
<block>low_pass_filter</block>
3941
<block>high_pass_filter</block>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
<?xml version="1.0"?>
2+
<!--
3+
#########################################################
4+
# Convenience wrapper for calling firdes.band_reject(...)
5+
#########################################################
6+
-->
7+
<block>
8+
<name>Band-reject Filter Taps</name>
9+
<key>variable_band_reject_filter_taps</key>
10+
<import>from gnuradio.filter import firdes</import>
11+
<var_make>
12+
self.$(id) = $(id) = firdes.band_reject($gain, $samp_rate, $low_cutoff_freq, $high_cutoff_freq, $width, $win, $beta)
13+
</var_make>
14+
<var_value>firdes.band_reject($gain, $samp_rate, $low_cutoff_freq, $high_cutoff_freq, $width, $win, $beta)</var_value>
15+
<make></make>
16+
17+
<param>
18+
<name>Gain</name>
19+
<key>gain</key>
20+
<value>1.0</value>
21+
<type>float</type>
22+
</param>
23+
<param>
24+
<name>Sample Rate (Hz)</name>
25+
<key>samp_rate</key>
26+
<value>samp_rate</value>
27+
<type>float</type>
28+
</param>
29+
<param>
30+
<name>Low Cutoff Freq (Hz)</name>
31+
<key>low_cutoff_freq</key>
32+
<type>float</type>
33+
</param>
34+
<param>
35+
<name>High Cutoff Freq (Hz)</name>
36+
<key>high_cutoff_freq</key>
37+
<type>float</type>
38+
</param>
39+
<param>
40+
<name>Transition Width (Hz)</name>
41+
<key>width</key>
42+
<type>float</type>
43+
</param>
44+
<param>
45+
<name>Window</name>
46+
<key>win</key>
47+
<value>firdes.WIN_HAMMING</value>
48+
<type>int</type>
49+
<option>
50+
<name>Hamming</name>
51+
<key>firdes.WIN_HAMMING</key>
52+
</option>
53+
<option>
54+
<name>Hann</name>
55+
<key>firdes.WIN_HANN</key>
56+
</option>
57+
<option>
58+
<name>Blackman</name>
59+
<key>firdes.WIN_BLACKMAN</key>
60+
</option>
61+
<option>
62+
<name>Rectangular</name>
63+
<key>firdes.WIN_RECTANGULAR</key>
64+
</option>
65+
<option>
66+
<name>Kaiser</name>
67+
<key>firdes.WIN_KAISER</key>
68+
</option>
69+
</param>
70+
<param>
71+
<name>Beta</name>
72+
<key>beta</key>
73+
<value>6.76</value>
74+
<type>float</type>
75+
</param>
76+
<doc>
77+
This is a convenience wrapper for calling firdes.band_reject().
78+
79+
The beta paramater only applies to the Kaiser window.
80+
</doc>
81+
</block>
+50
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
<?xml version="1.0"?>
2+
<!--
3+
########################################################################
4+
## Convenience wrapper for calling firdes.root_raised_cosine_filter(...)
5+
########################################################################
6+
-->
7+
<block>
8+
<name>RRC Filter Taps</name>
9+
<key>variable_rrc_filter_taps</key>
10+
<import>from gnuradio.filter import firdes</import>
11+
<var_make>
12+
self.$(id) = $(id) = firdes.root_raised_cosine($gain, $samp_rate, $sym_rate, $alpha, $ntaps)
13+
</var_make>
14+
<var_value>firdes.root_raised_cosine($gain, $samp_rate, $sym_rate, $alpha, $ntaps)</var_value>
15+
<make></make>
16+
17+
<param>
18+
<name>Gain</name>
19+
<key>gain</key>
20+
<value>1.0</value>
21+
<type>float</type>
22+
</param>
23+
<param>
24+
<name>Sample Rate (Hz)</name>
25+
<key>samp_rate</key>
26+
<value>samp_rate</value>
27+
<type>float</type>
28+
</param>
29+
<param>
30+
<name>Symbol Rate (Hz)</name>
31+
<key>sym_rate</key>
32+
<value></value>
33+
<type>float</type>
34+
</param>
35+
<param>
36+
<name>Excess BW</name>
37+
<key>alpha</key>
38+
<value>0.35</value>
39+
<type>float</type>
40+
</param>
41+
<param>
42+
<name>Num Taps</name>
43+
<key>ntaps</key>
44+
<value>11*sps</value>
45+
<type>int</type>
46+
</param>
47+
<doc>
48+
This is a convenience wrapper for calling firdes.root_raised_cosine(...).
49+
</doc>
50+
</block>

0 commit comments

Comments
 (0)