请问GNUradio 如何实现float输出采样成变量?

请问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

回到顶部