On Tue, Nov 24, 2015 at 3:42 PM, Richard Bell <richard.bell4@gmail.com> wrote:
RichI think I've come across a bug with the pfb_clock_sync blocks set_taps implementation. If I change a parameter in python that causes a change to the filter tap variable being fed to the pfb_clock_sync block, which then requires pfb_clock_sync.set_taps() to be called, the program will error out with the following:Two examples of variables that cause this change are samp_per_symb or shaping filter rolloff factor. I only set these variables while the simulation is not running, i.e. before I call tb.start(). I don't know why setting the rolloff should break the pfb_clock_sync.
Traceback (most recent call last):
File "radio_devel/scripts/pcodes_multi_sim.py", line 484, in <module>
main()
File "radio_devel/scripts/pcodes_multi_sim.py", line 205, in main
tb.set_rolloff(rolloff) # same problem with pfb_filter
File "/home/rbell/Documents/pcodes/radio_devel/scripts/pcodes_bpsk_stream_FEC_loopback_costas_nogui.py", line 184, in set_rolloff
self.digital_pfb_clock_sync_xxx_0.set_taps((firdes.root_raised_cosine(self.nfilts_pfb, self.nfilts_pfb*self.samp_symb, 1, self.rolloff, self.nfilts_pfb*11*self.samp_symb+1)))
File "/usr/local/lib/python2.7/dist-packages/gnuradio/digital/digital_swig.py", line 25452, in set_taps
return _digital_swig.pfb_clock_sync_ccf_sptr_set_taps(self, *args, **kwargs)
TypeError: Required argument 'ourtaps' (pos 3) not found
Setting the rolloff forces and update to the filter taps, so we have to reconstruct the filter and reload it into the filterbank. We made a change in how the loading process happens, so this looks like a pretty simple bug to fix how the update calls are applied.
You should open an issue about this (or post a pull request with the bug fix).
Tom
No comments:
Post a Comment