summaryrefslogtreecommitdiff
path: root/gnuradio-core/src
diff options
context:
space:
mode:
authorTom Rondeau2010-12-06 13:52:55 -0500
committerTom Rondeau2010-12-06 13:52:55 -0500
commit6246efbefcdb6807daa7c245ebe7a975ab0ce7d4 (patch)
tree1c062aef1e0c6bbccd88953169e051a1d629a20a /gnuradio-core/src
parentdd656e9db5e69ed6b11653deea710e299d72827e (diff)
downloadgnuradio-6246efbefcdb6807daa7c245ebe7a975ab0ce7d4.tar.gz
gnuradio-6246efbefcdb6807daa7c245ebe7a975ab0ce7d4.tar.bz2
gnuradio-6246efbefcdb6807daa7c245ebe7a975ab0ce7d4.zip
Modifying blsk2 wrapper for PFB arbitrary resampler to allow the user to just specify the requested resampling rate without providing their own filter taps.
Taps are then generated inside hier_block2 to cover full bandwidth of input signal. Optional attenuation parameter may be provided.
Diffstat (limited to 'gnuradio-core/src')
-rw-r--r--gnuradio-core/src/python/gnuradio/blks2impl/pfb_arb_resampler.py11
1 files changed, 9 insertions, 2 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
index e40d9636a..cd9289fa5 100644
--- a/gnuradio-core/src/python/gnuradio/blks2impl/pfb_arb_resampler.py
+++ b/gnuradio-core/src/python/gnuradio/blks2impl/pfb_arb_resampler.py
@@ -31,15 +31,22 @@ class pfb_arb_resampler_ccf(gr.hier_block2):
streams. This block is provided to be consistent with the interface to the
other PFB block.
'''
- def __init__(self, rate, taps, flt_size=32):
+ def __init__(self, rate, taps=None, flt_size=32, atten=80):
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._taps = taps
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.5
+ tb = 0.1
+ self._taps = gr.firdes.low_pass_2(self._size, self._size, bw, tb, atten)
+
self.pfb = gr.pfb_arb_resampler_ccf(self._rate, self._taps, self._size)
self.connect(self, self.pfb)