GNURADIO:让流标签通过多个块?

时间:2012-10-08 18:28:15

标签: c++ stream tags gnuradio

我刚刚能够构建和安装自己的信号块。我只是想创建一个转发数据的块,但是在某个定义的长度上添加一个标记。然后,在数据被调制之后,我开发了一个块,应该将标签读回给我。当块彼此相邻时,它可以工作。

e.g。输入 - > B1 - > B2 - > B3 - >输出

B1每50个项目添加一个标签,B2是一些调制器(在我的情况下是BPSK),B3是标签阅读器。它永远不会打印任何东西,除非B3在B1之后。

我可能做错了什么,我对流标记有错误的想法吗?

2 个答案:

答案 0 :(得分:2)

嗯,这是在GR邮件列表上讨论的。您可以关注此链接: [Discuss-gnuradio] Stream tags

答案 1 :(得分:1)

现在很可能已经解决了这个问题。另一个获得答案的地方是 gnuradio-discussion 邮件列表。 但是,以防万一其他人发现这个问题,我可能会添加一些颜色,希望能有所帮助。

请记住,GnuRadio 是 2012 年的早期版本。问题未指定 GR 版本。现在是 GR 3.8 和 3.9,除非我弄错了 3.10 正在开发中。

我自己是 GnuRadio 游戏的新手,我对标签进行了一些挖掘,因为我想使用它们沿数据路径向下传递有关某些信号参数的信息。我的挖掘/实现是在 GR 3.9 中完成的 标签传播有 3 项主要政策:

  1. TPP_DONT - 无传播
  2. TPP_ALL_TO_ALL - 来自所有输入的标签传播到所有输出(默认)
  3. TPP_ONE_TO_ONE - 标签形成传播到第 n 个输出的第 n 个输入
  4. TPP_CUSTOM -(我知道,这听起来像是 Monty Python 的关于调查的小品) - 它与 TPP_DONT 相同,这就是为什么我只说 3 个政策。但是,它向读者表明该块将以自己的方式处理它。因此,最好使用它,如果不是出于其他文档目的。

我猜当时使用的 GnuRadio 版本应用了 TPP_DONT 策略(如果它使用了策略)。因此没有为你做任何传播。

现在,除非您覆盖默认的 TPP_ALL_TO_ALL 政策,否则您应该将标签放入数据路径中。

编辑:刚刚意识到它在 https://wiki.gnuradio.org/index.php/Stream_Tags#Tag_Propagation

上的描述可能要好得多