【问题标题】:What block type for condition based output in GNU RadioGNU Radio 中基于条件的输出的块类型
【发布时间】:2019-12-16 05:09:27
【问题描述】:

我刚开始使用 GNU Radio,但很难理解我应该使用哪种块类型来正确解调数据。

我正在尝试实现脉冲位置调制,其中每个符号都有 4 个脉冲位置 (4-VPPM)。目前,我使用插值块生成前导序列,后跟 vppm 符号和用于传输数据的 UHD USRP 接收器。 在接收端,我使用第二台笔记本电脑和 UHD USRP Source 来获取流程图中的数据。我已经写了一个同步块类型的块来检测前导码并在相关峰值处添加一个标签。

现在我想将数据解调为之前调制的原始字节,但我不确定哪种块类型最适合此任务:首先我想使用抽取块,因为它具有固定的输入速率-输出。但是,如果块读取即 6000 个样本(vppm 符号的长度)并且标签在样本 5000 中,并且脉冲在 5000 + 3000 处,则它不包含在当前的 6000 个样本中。

问题:正确解调 vppm 符号的最佳块类型是什么?编程块时我应该确保什么(即预测()函数)?

【问题讨论】:

    标签: c++ gnuradio gnuradio-companion


    【解决方案1】:

    好的,看来我找到了解决问题的方法。 首先,我构建了完整的信号处理,从创建样本、调制、关联到找到起点并添加标签、解调并将结果显示在单个流程图中的接收器中。

    为了让进程异步,我使用了延迟块。归一化互相关块(块类型:sync)如果结果大于阈值,则在相关峰值处添加标签。

    我使用的下一个块是“标记流对齐”块(不幸的是,wiki.gnuradio.org 上还没有详细的文档),它采用未对齐的标记流项目流并将其与第一个项目对齐。所以当我的标签被找到时,它是样本包的第一个样本,它将被以下解调块(块类型:抽取器)读取以检索原始数据,并将显示在时间接收器中。

    【讨论】:

      猜你喜欢
      • 2016-07-17
      • 2016-02-25
      • 1970-01-01
      • 2016-06-15
      • 2022-01-24
      • 2019-02-12
      • 1970-01-01
      • 2020-01-09
      • 1970-01-01
      相关资源
      最近更新 更多