为自定义源块调度​​GNURadio [general_]工作函数

时间:2017-06-08 10:55:55

标签: python gnuradio

我试图在Python中实现一个GNURadio源块,它必须在每次调用[general_]工作函数时生成一个固定大小的向量。

作为第一个玩具示例,我试图输出一个常量值向量,该值在每次调用[general_]工作函数时都会改变。

import numpy
import sys
from gnuradio import gr

class my_source_vf(gr.sync_block):
    """
    docstring for block 
    """
    def __init__(self, v_size):
        self.v_size = v_size
        self.mult = 1
        self.buff = numpy.ones(v_size)
        gr.sync_block.__init__(self,
            name="my_source_vf",
            in_sig=None,
            #out_sig=[numpy.float32])
            out_sig=[(numpy.float32, self.v_size)])


    def work(self, input_items, output_items):
        # <+signal processing here+>
        print len(output_items)

        out = output_items[0]
        out[0][:] = self.buff*self.mult
        self.mult = self.mult+1

        return self.v_size

然而,当我将它连接到QT GUI Vector sink块时,我只看到0和1之间的振荡,这让我认为[general_]工作函数只被调用一次。

1 个答案:

答案 0 :(得分:0)

您不能返回Calendar c = Calendar.getInstance(); c.setTime(new Date()); - 这是一个项目的长度,但您应该返回您通过此次调用生成的项目数