У меня есть сигнал, сгенерированный в Matlab, который мне нужно передать и получить по USRP. Сигнал записывается в файл как массив комплексных чисел. Используя File Source
я могу передать файл без проблем. Я не могу использовать источник файла, так как позже мне нужно выполнить некоторую обработку файла, поэтому я создал Embedded Python Block
со следующим:
import numpy as np
from gnuradio import gr
class blk(gr.sync_block):
def __init__(self):
gr.sync_block.__init__(
self,
name='Chirp Source',
in_sig=None,
out_sig=[np.complex64]
)
def work(self, input_items, output_items):
output_items[0][:] = np.fromfile('MATLABchirptrain_1.bin', dtype=complex);
return len(output_items[0])
Однако я получаю ValueError ValueError: could not broadcast input array from shape (2000000) into shape (4096)
Что должно быть правильным форма сигнала?