创建具有固定输入元素数量的块 GNU RADIO

Creating a Block with Number of Fixed Input Elements GNU RADIO

我能够创建一个具有输入量而不是输出量的块,以防输出总是有 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

我不知道这是否是一个完整的答案,但我没有足够的声誉来发表评论。

如果该块始终需要已知的恒定输入大小,您可以尝试使用流到矢量块接受矢量输入,如 core concepts tutorial. To hide this from the user, you can use a hierarchical block 中所示,其中包含流到矢量块和您重新创建。