创建具有固定输入元素数量的块 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 中所示,其中包含流到矢量块和您重新创建。
我能够创建一个具有输入量而不是输出量的块,以防输出总是有 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 中所示,其中包含流到矢量块和您重新创建。