【问题标题】:Scheduling of GNURadio [general_] work function for custom source block为自定义源块调度​​ GNURadio [general_] 工作函数
【发布时间】:2017-06-08 19:14:46
【问题描述】:

我正在尝试在 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_] 工作函数只被调用了一次。

【问题讨论】:

    标签: python gnuradio


    【解决方案1】:

    你不能返回v_size——这是一个项目的长度,但你应该返回你产生这个调用的项目数。 p>

    【讨论】:

      猜你喜欢
      • 2022-01-13
      • 1970-01-01
      • 2020-11-28
      • 1970-01-01
      • 2015-01-10
      • 1970-01-01
      • 2016-03-01
      • 2019-03-10
      • 1970-01-01
      相关资源
      最近更新 更多