diff options
-rw-r--r-- | gnuradio-core/src/python/gnuradio/blks2impl/pfb_arb_resampler.py | 128 | ||||
-rw-r--r-- | gnuradio-core/src/python/gnuradio/blks2impl/pfb_channelizer.py | 73 | ||||
-rw-r--r-- | gnuradio-core/src/python/gnuradio/blks2impl/pfb_decimator.py | 69 | ||||
-rw-r--r-- | gnuradio-core/src/python/gnuradio/blks2impl/pfb_interpolator.py | 70 | ||||
-rw-r--r-- | gr-filter/grc/filter_pfb_arb_resampler.xml | 13 | ||||
-rw-r--r-- | gr-filter/grc/filter_pfb_channelizer.xml | 6 | ||||
-rw-r--r-- | gr-filter/grc/filter_pfb_decimator.xml | 15 | ||||
-rw-r--r-- | gr-filter/grc/filter_pfb_interpolator.xml | 15 | ||||
-rw-r--r-- | gr-filter/python/pfb.py | 10 | ||||
-rw-r--r-- | grc/blocks/blks2_analysis_filterbank.xml | 32 | ||||
-rw-r--r-- | grc/blocks/blks2_pfb_arb_resampler.xml | 45 | ||||
-rw-r--r-- | grc/blocks/blks2_pfb_channelizer.xml | 62 | ||||
-rw-r--r-- | grc/blocks/blks2_synthesis_filterbank.xml | 32 | ||||
-rw-r--r-- | grc/blocks/block_tree.xml | 6 |
14 files changed, 40 insertions, 536 deletions
diff --git a/gnuradio-core/src/python/gnuradio/blks2impl/pfb_arb_resampler.py b/gnuradio-core/src/python/gnuradio/blks2impl/pfb_arb_resampler.py deleted file mode 100644 index e83c327fc8..0000000000 --- a/gnuradio-core/src/python/gnuradio/blks2impl/pfb_arb_resampler.py +++ /dev/null @@ -1,128 +0,0 @@ -#!/usr/bin/env python -# -# Copyright 2009 Free Software Foundation, Inc. -# -# This file is part of GNU Radio -# -# GNU Radio is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# GNU Radio is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Radio; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, -# Boston, MA 02110-1301, USA. -# - -from gnuradio import gr, optfir - -class pfb_arb_resampler_ccf(gr.hier_block2): - ''' - Convenience wrapper for the polyphase filterbank arbitrary resampler. - - The block takes a single complex stream in and outputs a single complex - stream out. As such, it requires no extra glue to handle the input/output - streams. This block is provided to be consistent with the interface to the - other PFB block. - ''' - def __init__(self, rate, taps=None, flt_size=32, atten=100): - gr.hier_block2.__init__(self, "pfb_arb_resampler_ccf", - gr.io_signature(1, 1, gr.sizeof_gr_complex), # Input signature - gr.io_signature(1, 1, gr.sizeof_gr_complex)) # Output signature - - self._rate = rate - self._size = flt_size - - if taps is not None: - self._taps = taps - else: - # Create a filter that covers the full bandwidth of the input signal - bw = 0.4 - tb = 0.2 - ripple = 0.1 - #self._taps = gr.firdes.low_pass_2(self._size, self._size, bw, tb, atten) - made = False - while not made: - try: - self._taps = optfir.low_pass(self._size, self._size, bw, bw+tb, ripple, atten) - made = True - except RuntimeError: - ripple += 0.01 - made = False - print("Warning: set ripple to %.4f dB. If this is a problem, adjust the attenuation or create your own filter taps." % (ripple)) - - # Build in an exit strategy; if we've come this far, it ain't working. - if(ripple >= 1.0): - raise RuntimeError("optfir could not generate an appropriate filter.") - - self.pfb = gr.pfb_arb_resampler_ccf(self._rate, self._taps, self._size) - #print "PFB has %d taps\n" % (len(self._taps),) - - self.connect(self, self.pfb) - self.connect(self.pfb, self) - - # Note -- set_taps not implemented in base class yet - def set_taps(self, taps): - self.pfb.set_taps(taps) - - def set_rate(self, rate): - self.pfb.set_rate(rate) - - -class pfb_arb_resampler_fff(gr.hier_block2): - ''' - Convenience wrapper for the polyphase filterbank arbitrary resampler. - - The block takes a single float stream in and outputs a single float - stream out. As such, it requires no extra glue to handle the input/output - streams. This block is provided to be consistent with the interface to the - other PFB block. - ''' - def __init__(self, rate, taps=None, flt_size=32, atten=100): - gr.hier_block2.__init__(self, "pfb_arb_resampler_fff", - gr.io_signature(1, 1, gr.sizeof_float), # Input signature - gr.io_signature(1, 1, gr.sizeof_float)) # Output signature - - self._rate = rate - self._size = flt_size - - if taps is not None: - self._taps = taps - else: - # Create a filter that covers the full bandwidth of the input signal - bw = 0.4 - tb = 0.2 - ripple = 0.1 - #self._taps = gr.firdes.low_pass_2(self._size, self._size, bw, tb, atten) - made = False - while not made: - try: - self._taps = optfir.low_pass(self._size, self._size, bw, bw+tb, ripple, atten) - made = True - except RuntimeError: - ripple += 0.01 - made = False - print("Warning: set ripple to %.4f dB. If this is a problem, adjust the attenuation or create your own filter taps." % (ripple)) - - # Build in an exit strategy; if we've come this far, it ain't working. - if(ripple >= 1.0): - raise RuntimeError("optfir could not generate an appropriate filter.") - - self.pfb = gr.pfb_arb_resampler_fff(self._rate, self._taps, self._size) - #print "PFB has %d taps\n" % (len(self._taps),) - - self.connect(self, self.pfb) - self.connect(self.pfb, self) - - # Note -- set_taps not implemented in base class yet - def set_taps(self, taps): - self.pfb.set_taps(taps) - - def set_rate(self, rate): - self.pfb.set_rate(rate) diff --git a/gnuradio-core/src/python/gnuradio/blks2impl/pfb_channelizer.py b/gnuradio-core/src/python/gnuradio/blks2impl/pfb_channelizer.py deleted file mode 100644 index 4bbe1bec6c..0000000000 --- a/gnuradio-core/src/python/gnuradio/blks2impl/pfb_channelizer.py +++ /dev/null @@ -1,73 +0,0 @@ -#!/usr/bin/env python -# -# Copyright 2009,2010 Free Software Foundation, Inc. -# -# This file is part of GNU Radio -# -# GNU Radio is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# GNU Radio is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Radio; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, -# Boston, MA 02110-1301, USA. -# - -from gnuradio import gr, optfir - -class pfb_channelizer_ccf(gr.hier_block2): - ''' - Make a Polyphase Filter channelizer (complex in, complex out, floating-point taps) - - This simplifies the interface by allowing a single input stream to connect to this block. - It will then output a stream for each channel. - ''' - def __init__(self, numchans, taps=None, oversample_rate=1, atten=100): - gr.hier_block2.__init__(self, "pfb_channelizer_ccf", - gr.io_signature(1, 1, gr.sizeof_gr_complex), # Input signature - gr.io_signature(numchans, numchans, gr.sizeof_gr_complex)) # Output signature - - self._nchans = numchans - self._oversample_rate = oversample_rate - - if taps is not None: - self._taps = taps - else: - # Create a filter that covers the full bandwidth of the input signal - bw = 0.4 - tb = 0.2 - ripple = 0.1 - made = False - while not made: - try: - self._taps = optfir.low_pass(1, self._nchans, bw, bw+tb, ripple, atten) - made = True - except RuntimeError: - ripple += 0.01 - made = False - print("Warning: set ripple to %.4f dB. If this is a problem, adjust the attenuation or create your own filter taps." % (ripple)) - - # Build in an exit strategy; if we've come this far, it ain't working. - if(ripple >= 1.0): - raise RuntimeError("optfir could not generate an appropriate filter.") - - self.s2ss = gr.stream_to_streams(gr.sizeof_gr_complex, self._nchans) - self.pfb = gr.pfb_channelizer_ccf(self._nchans, self._taps, - self._oversample_rate) - self.connect(self, self.s2ss) - - for i in xrange(self._nchans): - self.connect((self.s2ss,i), (self.pfb,i)) - self.connect((self.pfb,i), (self,i)) - - def set_channel_map(self, newmap): - self.pfb.set_channel_map(newmap) - - diff --git a/gnuradio-core/src/python/gnuradio/blks2impl/pfb_decimator.py b/gnuradio-core/src/python/gnuradio/blks2impl/pfb_decimator.py deleted file mode 100644 index adcdfe9ba1..0000000000 --- a/gnuradio-core/src/python/gnuradio/blks2impl/pfb_decimator.py +++ /dev/null @@ -1,69 +0,0 @@ -#!/usr/bin/env python -# -# Copyright 2009 Free Software Foundation, Inc. -# -# This file is part of GNU Radio -# -# GNU Radio is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# GNU Radio is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Radio; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, -# Boston, MA 02110-1301, USA. -# - -from gnuradio import gr, optfir - -class pfb_decimator_ccf(gr.hier_block2): - ''' - Make a Polyphase Filter decimator (complex in, complex out, floating-point taps) - - This simplifies the interface by allowing a single input stream to connect to this block. - It will then output a stream that is the decimated output stream. - ''' - def __init__(self, decim, taps=None, channel=0, atten=100): - gr.hier_block2.__init__(self, "pfb_decimator_ccf", - gr.io_signature(1, 1, gr.sizeof_gr_complex), # Input signature - gr.io_signature(1, 1, gr.sizeof_gr_complex)) # Output signature - - self._decim = decim - self._channel = channel - - if taps is not None: - self._taps = taps - else: - # Create a filter that covers the full bandwidth of the input signal - bw = 0.4 - tb = 0.2 - ripple = 0.1 - made = False - while not made: - try: - self._taps = optfir.low_pass(1, self._decim, bw, bw+tb, ripple, atten) - made = True - except RuntimeError: - ripple += 0.01 - made = False - print("Warning: set ripple to %.4f dB. If this is a problem, adjust the attenuation or create your own filter taps." % (ripple)) - - # Build in an exit strategy; if we've come this far, it ain't working. - if(ripple >= 1.0): - raise RuntimeError("optfir could not generate an appropriate filter.") - - self.s2ss = gr.stream_to_streams(gr.sizeof_gr_complex, self._decim) - self.pfb = gr.pfb_decimator_ccf(self._decim, self._taps, self._channel) - - self.connect(self, self.s2ss) - - for i in xrange(self._decim): - self.connect((self.s2ss,i), (self.pfb,i)) - - self.connect(self.pfb, self) diff --git a/gnuradio-core/src/python/gnuradio/blks2impl/pfb_interpolator.py b/gnuradio-core/src/python/gnuradio/blks2impl/pfb_interpolator.py deleted file mode 100644 index 5492dfcac6..0000000000 --- a/gnuradio-core/src/python/gnuradio/blks2impl/pfb_interpolator.py +++ /dev/null @@ -1,70 +0,0 @@ -#!/usr/bin/env python -# -# Copyright 2009 Free Software Foundation, Inc. -# -# This file is part of GNU Radio -# -# GNU Radio is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# GNU Radio is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Radio; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, -# Boston, MA 02110-1301, USA. -# - -from gnuradio import gr, optfir - -class pfb_interpolator_ccf(gr.hier_block2): - ''' - Make a Polyphase Filter interpolator (complex in, complex out, floating-point taps) - - The block takes a single complex stream in and outputs a single complex - stream out. As such, it requires no extra glue to handle the input/output - streams. This block is provided to be consistent with the interface to the - other PFB block. - ''' - def __init__(self, interp, taps=None, atten=100): - gr.hier_block2.__init__(self, "pfb_interpolator_ccf", - gr.io_signature(1, 1, gr.sizeof_gr_complex), # Input signature - gr.io_signature(1, 1, gr.sizeof_gr_complex)) # Output signature - - self._interp = interp - self._taps = taps - - if taps is not None: - self._taps = taps - else: - # Create a filter that covers the full bandwidth of the input signal - bw = 0.4 - tb = 0.2 - ripple = 0.99 - made = False - while not made: - try: - self._taps = optfir.low_pass(self._interp, self._interp, bw, bw+tb, ripple, atten) - made = True - except RuntimeError: - ripple += 0.01 - made = False - print("Warning: set ripple to %.4f dB. If this is a problem, adjust the attenuation or create your own filter taps." % (ripple)) - - # Build in an exit strategy; if we've come this far, it ain't working. - if(ripple >= 1.0): - raise RuntimeError("optfir could not generate an appropriate filter.") - - self.pfb = gr.pfb_interpolator_ccf(self._interp, self._taps) - - self.connect(self, self.pfb) - self.connect(self.pfb, self) - - - - diff --git a/gr-filter/grc/filter_pfb_arb_resampler.xml b/gr-filter/grc/filter_pfb_arb_resampler.xml index f3048000ac..5629adabfa 100644 --- a/gr-filter/grc/filter_pfb_arb_resampler.xml +++ b/gr-filter/grc/filter_pfb_arb_resampler.xml @@ -7,12 +7,13 @@ <block> <name>Polyphase Arbitrary Resampler</name> <key>pfb_arb_resampler_xxx</key> - <import>from gnuradio import filter</import> + <import>from gnuradio.filter import pfb</import> <import>from gnuradio.filter import firdes</import> - <make>filter.pfb_arb_resampler_$(type)( + <make>pfb.arb_resampler_$(type)( $rrate, $taps, - $nfilts) + $nfilts, + $atten) </make> <callback>set_taps($taps)</callback> <param> @@ -50,6 +51,12 @@ <value>32</value> <type>int</type> </param> + <param> + <name>Stop-band Attenuation</name> + <key>atten</key> + <value>100</value> + <type>real</type> + </param> <sink> <name>in</name> <type>complex</type> diff --git a/gr-filter/grc/filter_pfb_channelizer.xml b/gr-filter/grc/filter_pfb_channelizer.xml index 114abc0f06..26349cd10d 100644 --- a/gr-filter/grc/filter_pfb_channelizer.xml +++ b/gr-filter/grc/filter_pfb_channelizer.xml @@ -7,9 +7,9 @@ <block> <name>Polyphase Channelizer</name> <key>pfb_channelizer_ccf</key> - <import>from gnuradio import filter</import> + <import>from gnuradio.filter import pfb</import> <import>from gnuradio.filter import firdes</import> - <make>filter.pfb.channelizer_ccf( + <make>pfb.channelizer_ccf( $nchans, $taps, $osr, @@ -29,7 +29,7 @@ self.$(id).set_channel_map($ch_map) <param> <name>Taps</name> <key>taps</key> - <value>None</value> + <value></value> <type>real_vector</type> </param> <param> diff --git a/gr-filter/grc/filter_pfb_decimator.xml b/gr-filter/grc/filter_pfb_decimator.xml index b0540d3e2c..8ecf9b2d95 100644 --- a/gr-filter/grc/filter_pfb_decimator.xml +++ b/gr-filter/grc/filter_pfb_decimator.xml @@ -7,12 +7,13 @@ <block> <name>Polyphase Decimator</name> <key>pfb_decimator_ccf</key> - <import>from gnuradio import filter</import> + <import>from gnuradio.filter import pfb</import> <import>from gnuradio.filter import firdes</import> - <make>filter.pfb_decimator_ccf( + <make>pfb.decimator_ccf( $decim, $taps, - $channel) + $channel, + $atten) </make> <callback>set_taps($taps)</callback> <param> @@ -23,7 +24,7 @@ <param> <name>Taps</name> <key>taps</key> - <value>None</value> + <value></value> <type>real_vector</type> </param> <param> @@ -32,6 +33,12 @@ <value>0</value> <type>int</type> </param> + <param> + <name>Stop-band Attenuation</name> + <key>atten</key> + <value>100</value> + <type>real</type> + </param> <sink> <name>in</name> <type>complex</type> diff --git a/gr-filter/grc/filter_pfb_interpolator.xml b/gr-filter/grc/filter_pfb_interpolator.xml index 6004931235..59749ab900 100644 --- a/gr-filter/grc/filter_pfb_interpolator.xml +++ b/gr-filter/grc/filter_pfb_interpolator.xml @@ -7,11 +7,12 @@ <block> <name>Polyphase Interpolator</name> <key>pfb_interpolator_ccf</key> - <import>from gnuradio import filter</import> + <import>from gnuradio.filter import pfb</import> <import>from gnuradio.filter import firdes</import> - <make>filter.pfb.interpolator_ccf( + <make>pfb.interpolator_ccf( $interp, - $taps) + $taps, + $atten) </make> <callback>set_taps($taps)</callback> <param> @@ -22,9 +23,15 @@ <param> <name>Taps</name> <key>taps</key> - <value>None</value> + <value></value> <type>real_vector</type> </param> + <param> + <name>Attenuation</name> + <key>atten</key> + <value>100</value> + <type>real</type> + </param> <sink> <name>in</name> <type>complex</type> diff --git a/gr-filter/python/pfb.py b/gr-filter/python/pfb.py index ddf2899826..b9608362c3 100644 --- a/gr-filter/python/pfb.py +++ b/gr-filter/python/pfb.py @@ -39,7 +39,7 @@ class channelizer_ccf(gr.hier_block2): self._nchans = numchans self._oversample_rate = oversample_rate - if taps is not None: + if (taps is not None) and (len(taps) > 0): self._taps = taps else: # Create a filter that covers the full bandwidth of the input signal @@ -91,7 +91,7 @@ class interpolator_ccf(gr.hier_block2): self._interp = interp self._taps = taps - if taps is not None: + if (taps is not None) and (len(taps) > 0): self._taps = taps else: # Create a filter that covers the full bandwidth of the input signal @@ -133,7 +133,7 @@ class decimator_ccf(gr.hier_block2): self._decim = decim self._channel = channel - if taps is not None: + if (taps is not None) and (len(taps) > 0): self._taps = taps else: # Create a filter that covers the full bandwidth of the input signal @@ -182,7 +182,7 @@ class arb_resampler_ccf(gr.hier_block2): self._rate = rate self._size = flt_size - if taps is not None: + if (taps is not None) and (len(taps) > 0): self._taps = taps else: # Create a filter that covers the full bandwidth of the input signal @@ -235,7 +235,7 @@ class arb_resampler_fff(gr.hier_block2): self._rate = rate self._size = flt_size - if taps is not None: + if (taps is not None) and (len(taps) > 0): self._taps = taps else: # Create a filter that covers the full bandwidth of the input signal diff --git a/grc/blocks/blks2_analysis_filterbank.xml b/grc/blocks/blks2_analysis_filterbank.xml deleted file mode 100644 index 93cfa30afd..0000000000 --- a/grc/blocks/blks2_analysis_filterbank.xml +++ /dev/null @@ -1,32 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -##Analysis Filterbank -################################################### - --> -<block> - <name>Analysis Filterbank</name> - <key>blks2_analysis_filterbank</key> - <import>from gnuradio import blks2</import> - <make>blks2.analysis_filterbank(mpoints=$mpoints, taps=$taps)</make> - <param> - <name>MPoints</name> - <key>mpoints</key> - <value>3</value> - <type>int</type> - </param> - <param> - <name>Taps</name> - <key>taps</key> - <type>complex_vector</type> - </param> - <sink> - <name>in</name> - <type>complex</type> - </sink> - <source> - <name>out</name> - <type>complex</type> - <nports>$mpoints</nports> - </source> -</block> diff --git a/grc/blocks/blks2_pfb_arb_resampler.xml b/grc/blocks/blks2_pfb_arb_resampler.xml deleted file mode 100644 index b58e70f1cb..0000000000 --- a/grc/blocks/blks2_pfb_arb_resampler.xml +++ /dev/null @@ -1,45 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -##Polyphase Arbitrary Resampler -################################################### - --> -<block> - <name>Polyphase Resampler</name> - <key>blks2_pfb_arb_resampler_ccf</key> - <import>from gnuradio import blks2</import> - <import>from gnuradio.gr import firdes</import> - <make>blks2.pfb_arb_resampler_ccf( - $rate, - $taps, - $size, -)</make> - <!-- Set taps not implemented yet - <callback>set_taps($taps)</callback> - --> - <callback>set_rate($rate)</callback> - <param> - <name>Resample Rate</name> - <key>rate</key> - <type>real</type> - </param> - <param> - <name>Taps</name> - <key>taps</key> - <type>real_vector</type> - </param> - <param> - <name>Size (# phases)</name> - <key>size</key> - <value>32</value> - <type>int</type> - </param> - <sink> - <name>in</name> - <type>complex</type> - </sink> - <source> - <name>out</name> - <type>complex</type> - </source> -</block> diff --git a/grc/blocks/blks2_pfb_channelizer.xml b/grc/blocks/blks2_pfb_channelizer.xml deleted file mode 100644 index 5a93c08664..0000000000 --- a/grc/blocks/blks2_pfb_channelizer.xml +++ /dev/null @@ -1,62 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -##Polyphase Channelizer -################################################### - --> -<block> - <name>Polyphase Channelizer</name> - <key>blks2_pfb_channelizer_ccf</key> - <import>from gnuradio import blks2</import> - <import>from gnuradio.gr import firdes</import> - <make>blks2.pfb_channelizer_ccf( - $nchans, - $taps, - $osr, - $atten) -self.$(id).set_channel_map($ch_map) - </make> - <!-- Set taps not implemented yet - <callback>set_taps($taps)</callback> - --> - <callback>set_channel_map($ch_map)</callback> - - <param> - <name>Channels</name> - <key>nchans</key> - <type>int</type> - </param> - <param> - <name>Taps</name> - <key>taps</key> - <value>None</value> - <type>real_vector</type> - </param> - <param> - <name>Over Sample Ratio</name> - <key>osr</key> - <value>1.0</value> - <type>real</type> - </param> - <param> - <name>Attenuation</name> - <key>atten</key> - <value>100</value> - <type>real</type> - </param> - <param> - <name>Channel Map</name> - <key>ch_map</key> - <value>[]</value> - <type>int_vector</type> - </param> - <sink> - <name>in</name> - <type>complex</type> - </sink> - <source> - <name>out</name> - <type>complex</type> - <nports>$nchans</nports> - </source> -</block> diff --git a/grc/blocks/blks2_synthesis_filterbank.xml b/grc/blocks/blks2_synthesis_filterbank.xml deleted file mode 100644 index 5979ed3f79..0000000000 --- a/grc/blocks/blks2_synthesis_filterbank.xml +++ /dev/null @@ -1,32 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -##Synthesis Filterbank -################################################### - --> -<block> - <name>Synthesis Filterbank</name> - <key>blks2_synthesis_filterbank</key> - <import>from gnuradio import blks2</import> - <make>blks2.synthesis_filterbank(mpoints=$mpoints, taps=$taps)</make> - <param> - <name>MPoints</name> - <key>mpoints</key> - <value>3</value> - <type>int</type> - </param> - <param> - <name>Taps</name> - <key>taps</key> - <type>complex_vector</type> - </param> - <sink> - <name>in</name> - <type>complex</type> - <nports>$mpoints</nports> - </sink> - <source> - <name>out</name> - <type>complex</type> - </source> -</block> diff --git a/grc/blocks/block_tree.xml b/grc/blocks/block_tree.xml index 59052afa90..30dfdb05d5 100644 --- a/grc/blocks/block_tree.xml +++ b/grc/blocks/block_tree.xml @@ -150,12 +150,6 @@ </cat> <cat> <name>Filters</name> - <!-- Filters that take taps as arguments --> - <block>blks2_synthesis_filterbank</block> - <block>blks2_analysis_filterbank</block> - <!-- Polyphase filters --> - <block>blks2_pfb_arb_resampler_ccf</block> - <block>blks2_pfb_channelizer_ccf</block> <!-- Other filters --> <block>blks2_rational_resampler_xxx</block> <block>gr_keep_one_in_n</block> |