Good day everyone Could some please explain to me where I'm missinterpreting how to implement a block. My block code is
import numpy as np from gnuradio import gr class compress_ff(gr.sync_block): """ Compressing Block """ def __init__(self, n, m): global phi N = n M = m phi = np.load("/home/chad/Desktop/PROJECT/Python/Matrices/phi_mtx%(M)dx%(N)d.npy" %{"M":M,"N":N}) gr.sync_block.__init__(self, name="compress_cc", in_sig=[(np.float32,N)], out_sig=[(np.float32,M)]) def work(self, input_items, output_items): in0 = input_items[0] print "compin0" print np.shape(in0) in0 = in0.conj().transpose() out = np.dot(phi,in0) out = out.conj().transpose() # <+signal processing here+> output_items[0][:] = out return len(output_items[0]) which I would expect to take in an N length vector and return an M length vector. However my input vector, in0. Seems to be arbitarially (random number, N) in size. The random number is a multiple of four which I presume is due to the data type. I have matching data types so I am confuse as to why its not creating a (1,N) vector. Any help would be greatly appreciated.
_______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio