Gnuradio软件源块

时间:2016-02-15 10:03:44

标签: gnuradio

我目前正在尝试进行一些实时信号处理,我想使用“gnuradio”。我将处理通过python中的自定义界面(即“Lab Streaming Layer”; LSL)进入的多个EEG通道。 现在我的问题是,是否存在现有块,您可以在运行时将样本“推”到信号处理图中?到目前为止,我发现的唯一块提供了对音频硬件,TCP流和文件的支持。

2 个答案:

答案 0 :(得分:0)

你必须写自己的块;可以在Python或C ++中完成,无论哪种情况更适合您的情况。

GNU Radio Guided Tutorials(你应该按照从1到5的顺序阅读它们,至少)确实解释了如何做到这一点。

因为我们都知道人们在阅读时很懒惰,所以这里是对你学习内容的粗略预览:

  1. 制作一个新的Out-of-tree模块:gr_modtool newmod sensorinterface,切换到新生成的目录:cd gr-sensorinterface
  2. 添加新的源块:gr_modtool add eeg_sensor_source;你想要的块类型是" source&#34 ;;您将被要求填写一些区块详细信息。
  3. 根据您选择的语言编辑生成的源文件(lib/python/):
    1. 添加适当的io签名:您的输出可能会大小为float
    2. 编辑中央work功能;添加代码以获取新样本,并将其复制到output_items缓冲区。
  4. 指导教程真的很棒!

答案 1 :(得分:0)

最灵活的方法是编写自己的GNU Radio块,但有几种方法可以在不使用任何自定义块的情况下将数据导入流图。 (从Python的角度命名。)

  • gnuradio.blocks.message_source,从gnuradio.gr.msg_queue获取数据。

  • 您可以使用gnuradio.blocks.file_descriptor_source,其中文件描述符是管道的一端。