当前位置: 首页 > 知识库问答 >
问题:

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

朱岳
2023-08-02

问题描述

我想要通过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。

共有1个答案

司马耘豪
2023-08-02

用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])
 类似资料:
  • 最近,我一直在尝试对我在电脑上播放的音频进行实时可视化(通过任何任意程序,如Spotify),但我一直在使用SoundFlower将输出音频导入到一个假线路。 我想知道的是,是否有一种C / C或Java固有的方法,可以让我捕获发送到计算机(我使用的是Mac)行的任何音频,其方式类似于我如何捕获其中的行(即不断填充PCM数据的示例缓冲区)。 除了读取line out数据,我不想模仿SoundFlo

  • 我正在找到在JSR223采样器、JSR223预处理程序、JSR223后处理程序和所有其他JSR223脚本中使用变量的方法。 还有一些其他变量,如、、、。我可以很容易地使用它们。 :vars.get(“variable_name”)、vars.put(“variable_name”、“value”)、... :props.get,props.put,... :prev.gettime()、prev.

  • 问题内容: 我对从麦克风获取的音频进行下采样时遇到问题。我正在使用AVAudioEngine通过以下代码从麦克风中采样: 这段代码在iPhone 5s上非常有效,因为麦克风输入为8000Hz,并且缓冲区中充满了来自麦克风的数据。 问题是我希望能够从iPhone 6s(及更高版本)录制哪个麦克风以16000Hz录制的声音。奇怪的是,如果我将mixernode与引擎mainmixernode连接(使用

  • 本文向大家介绍如何实现 “1,2,3” 变成 [‘1’,’2’,’3’]相关面试题,主要包含被问及如何实现 “1,2,3” 变成 [‘1’,’2’,’3’]时的应答技巧和注意事项,需要的朋友参考一下  

  • 本文向大家介绍如何实现[‘1’,’2’,’3’]变成[1,2,3]相关面试题,主要包含被问及如何实现[‘1’,’2’,’3’]变成[1,2,3]时的应答技巧和注意事项,需要的朋友参考一下  

  • 如图所示,渐变背景倾斜平铺