gnuradio模块与模块相连接,进行调制之后由usrp 发送。但如果想看到某一个模块之后输出的数据,方便的方法是加一个file sink模块。但我有很多时候都想自己用python处理数据,不要专门写出一个模块。然后再输入gnuradio进行处理。如果输入输出都要经过file source 的话,感觉很麻烦啊,要一次处理完之后才能进行下一步,还要手动多次。
然后看到benchmark_tx.py(gnuradio/gr-digital/examples/narrowband/..)里面有个数据传输过程:变量data
# build the graph
tb = my_top_block(mods[options.modulation], options)
r = gr.enable_realtime_scheduling()
if r != gr.RT_OK:
print ("Warning: failed to enable realtime scheduling")
tb.start() # start flow graph
# generate and send packets
nbytes = int(1e6 * options.megabytes)
n = 0
pktno = 0
pkt_size = int(options.size)
while n < nbytes:
if options.from_file is None:
data = (pkt_size - 2) * chr(pktno & 0xff)
else:
data = source_file.read(pkt_size - 2)
if data == '':
break;
payload = struct.pack('!H

本文探讨了如何在gnuradio中通过添加file sink模块来查看模块输出数据,同时提出了直接使用Python处理数据的想法,以避免频繁使用file source。作者提到可以尝试修改gnuradio的benchmark_tx.py中的数据变量,或者插入自定义函数,让gnuradio处理并发送返回值。初步实验表明,这种做法可行,并已成功应用于GUI控制的usrp发送和接收功能。
最低0.47元/天 解锁文章
1428

被折叠的 条评论
为什么被折叠?



