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
[email protected]
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio