2017-06-08 3 views
0

私はPythonでGNURadioソースブロックを実装しようとしています。これは[general_]作業関数の呼び出しごとに固定サイズのベクトルを生成する必要があります。カスタムソースブロックのGNURadio [general_]作業関数のスケジューリング

最初のおもちゃの例として、私は[general_]仕事関数の各呼び出しで変化するはずの定数値のベクトルを出力しようとしました。私はQT GUIベクターに接続すると、

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 

はしかし、私は[general_]仕事関数が一度だけ呼ばれて考えてみましょう私は0と1の間の振動を参照ブロックを、シンク。

答えて

0

あなたはv_sizeを返さなければならない - それは1項目の長さですが、あなたはあなたがこのコールを作成したアイテムの数を返す必要があります。

関連する問題