diff options
author | Tom Rondeau | 2010-12-06 13:52:55 -0500 |
---|---|---|
committer | Tom Rondeau | 2010-12-06 13:52:55 -0500 |
commit | 6246efbefcdb6807daa7c245ebe7a975ab0ce7d4 (patch) | |
tree | 1c062aef1e0c6bbccd88953169e051a1d629a20a /gnuradio-core/src | |
parent | dd656e9db5e69ed6b11653deea710e299d72827e (diff) | |
download | gnuradio-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.py | 11 |
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) |