【问题标题】:GNURADIO 3.7.8: identify a part of a byte streamGNURADIO 3.7.8:识别字节流的一部分
【发布时间】:2017-12-15 15:24:04
【问题描述】:

我觉得流标签、消息传递、数据包数据传输有点矫枉过正,我很难理解。

我有一个简单的愿望:从一个字节流开始,我想“提取”固定数量的字节)从一个已知的模式开始。例如,从这样的流中:...01h 55h XXh YYh ZZh...,它应该提取 XXh YYh ZZh。

我利用相关访问代码标记块-标记流对齐-打包 K 位将比特流转换为字节流并同步到所需的访问代码(01h 55h),但是我如何告诉 gnuradio 只处理每次找到代码后3个字节? OOT 块可能会解决,但是否有一些标准 GRC 块的组合可以做到这一点?

【问题讨论】:

    标签: stream packet gnuradio


    【解决方案1】:

    我认为使用 correllate_access_code_tag_bb,您实际上可以仅从现有块中构建这个,只需稍加思考即可。 (注意:这确实依赖于流标签,因为这些在示例流中标记特殊点的正确工具。)

    但是,您的简单案例可能真的不值得。只需按照guided tutorials 直到您可以编写自己的python 块。

    在新块的构造函数中使用 self.set_history(len(preamble)+len_payload) 以确保在当前调用工作中始终看到上一次迭代的最后一个样本,并且只需在样本流中搜索前导码,仅输出 @987654323 @当你找到它时跟随字节,如果你没有找到它就不会产生任何东西。

    【讨论】:

    • 嗨,马库斯,感谢您的回复。您认为在 Gnuradio 中(最佳/正确)方式是什么?我的意思是,如果你必须这样做,你会怎么做?干杯,aawnsd
    • 和我描述的差不多!但是,三个字节听起来确实像是您可能想要进行消息传递而不是生成示例流。真的:我会阅读指导教程,并尝试理解流标签和消息传递的概念:)
    • PS:这是工程;没有单一的正确/最好的方法来做任何事情。只是适合您的问题的事情,这是您想要实现的目标以及您拥有的技能、工具和资源的组合!
    • 您提到仅使用标准块就可以做到这一点;你愿意详细说明一下吗?
    • @AleksiTorhamo 没有。 2015 年的工具(理所当然地)被弃用了,这非常更容易在您自己的块中实现。所以不要害羞阅读那些指导教程(修复了上面的链接),并编写自己的 10 行 python 代码来完成这项工作。
    猜你喜欢
    • 2019-01-13
    • 2018-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-25
    • 2017-07-03
    • 2019-06-28
    • 1970-01-01
    相关资源
    最近更新 更多