请问GNUradio 如何实现float输出采样成变量?
问题描述
我想要通过GNUradio和PlutoSDR实现FM自动扫频接收,接收信号经过threadhold已经变成了只有0和1的float类型输出,我想把float转成变量以便和其他变量做逻辑运算。但是gnuradio没有相关模块可以实现这个功能。
问题出现的平台版本及自己尝试过哪些方法
Ubuntu 22.10
GNUradio 3.3.8
Python3
我尝试通过python block 获取输入 然后return,再用function probe获取输出,采样率采用过10,48k,250k。
输出结果
按理应该是获得门限输出,但是实际上在运行1s后会卡住,然后终端会输出很多O。
回答:
用Python Block将float类型的数据转换为变量
class float_to_var(gr.sync_block): def __init__(self):
gr.sync_block.__init__(
self,
name='float_to_var',
in_sig=[numpy.float32],
out_sig=[numpy.float32]
)
self.variable = 0
def work(self, input_items, output_items):
in0 = input_items[0]
out = output_items[0]
# 对每个输入样本进行处理
for i in range(len(in0)):
# 更新变量
self.variable = in0[i]
# 这里我们只是简单地将输入复制到输出
out[i] = in0[i]
return len(output_items[0])
以上是 请问GNUradio 如何实现float输出采样成变量? 的全部内容, 来源链接: utcz.com/p/938967.html