我可以创建一个块,该块的输入量不是输出,以防输出总是有6个以上的元素。但是现在我很难使块始终获得长度为X的复杂样本。例如,我的块将始终具有固定的输入量,而不是默认的4096个样本
import numpy
from gnuradio import gr
import math
import numpy as np
class codificador_wavelet(gr.basic_block):
"""
docstring for block codificador_wavelet
"""
def __init__(self,taxa):
gr.basic_block.__init__(self,
name="codificador_wavelet",
in_sig=[numpy.complex64],
out_sig=[numpy.complex64])
self.taxa=taxa
self.mg=8
def forecast(self, noutput_items, ninput_items_required):
n = noutput_items-6
ninput_items_required[0] = 1 if (n<=0) else n
答案 0 :(得分:1)
我不知道这是否是一个完整的答案,但是我没有足够的声誉来发表评论。
如果该块始终想要一个已知的恒定输入大小,则可以尝试使用流来矢量接受块的矢量输入,如core concepts tutorial中所示。要向用户隐藏此内容,您可以使用hierarchical block,其中包含要引导的流和要创建的块。