On 03/11/2018 02:06 PM, Glen I Langston wrote:
Hello Gnuradio experts,

I'm following the gnuradio tutorial for creating an out of tree python block.
My intention is fairly simple.  To have a input stream of 4 vectors
and average these 4 vectors, outputting a single average vector
after the 4th vector arrives.  Right now my vectors are 1024 channel
total power spectra.

My code is attached, along with the quality control code.
I've been at this for a while, but I must have the wrong model
in my head on how gnuradio holds these samples.

I'm not getting the proper size matches.   I can not find any
decimation help, despite hours of googling...




My intention is to make this 4 vector average with decimate a
part of the .grc environment, but the problems are easier to diagnose,
as the QA code is stands alone.   Here are the messages I’m getting:

ESMU:vdecimate glangsto$ python qa_vdecimate.py
handler caught exception: could not broadcast input array from shape (4,1024) into shape (1,1024)
Traceback (most recent call last):
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/gnuradio/gr/gateway.py", line 55, in eval
    try: self._callback()
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/gnuradio/gr/gateway.py", line 160, in __gr_block_handle
    ) for i in self.__out_indexes],
File "/Users/glangsto/Desktop/Research/vdecimate/vdecimate.py", line 58, in work
    out[:] = self.sum/float(self.count)
ValueError: could not broadcast input array from shape (4,1024) into shape (1,1024) thread[thread-per-block[1]: <block vdecimate (2)>]: SWIG director method error. Error detected when calling 'feval_ll.eval'

What happens if you return 1 in the case where you're returning data? Don't forget, that's the "number of items", and your "items" are 1024-entry vectors.

Discuss-gnuradio mailing list

Reply via email to