Hi all guys,
this two lines of code sort of doesn’t work as I expect.
self.channel_filter = gr.fir_filter_ccf(1, firdes.low_pass(10,
samp_rate,
80000, 5000, firdes.WIN_HAMMING, 6.76))
print self.channel_filter.taps(), self.channel_filter
I use 3.6.5.1 version and the only thing I get is empty tuple.
What might be the problem?
Best and thank you,
After a few more tries to figure out how this works I realized that
method
taps() can return list of coefficients only if set_taps was called
before
for setting taps. In the constructor of filter set_taps is not called,
so
my question is which taps does filter use?
On Thu, Jan 30, 2014 at 4:47 AM, Nemanja S. [email protected]
wrote:
After a few more tries to figure out how this works I realized that method
taps() can return list of coefficients only if set_taps was called before
for setting taps. In the constructor of filter set_taps is not called, so my
question is which taps does filter use?
It uses those taps, but it looks like it doesn’t set a variable inside
to hold them until you call set_taps on it. The fir filter blocks
encapsulate another fir kernel, which is where the real taps are
actually stored. When you create your FIR filter, the taps are being
set correctly.
You should switch to using filter.fir_filter, which exists in 3.6.5.1.
It will help future-proof you when moving up GNU Radio versions.
Getting the taps here right after creating the filter will work fine
in this implementation.
Tom
Thank you Tom. It works when using fir from filter module.