【发布时间】:2020-11-07 05:00:54
【问题描述】:
我正在尝试在由多个 B210 USRP 设备组成的 gnu 无线电中创建一个同步的 usrp 源块。朗:C++。
根据我的发现,我需要:
- 实例化多个 multi_usrp_sptr,因为每个 B210 都需要一个,并且多个 B210 设备无法通过使用单个 sptr 进行寻址
- 使用外部频率和 PPS 源 - 可以从块中选择或以编程方式设置的选项
- 同步重新/调整以实现节点之间的可重复相位偏移 - 这可以使用定时命令 API https://kb.ettus.com/Synchronizing_USRP_Events_Using_Timed_Commands_in_UHD 来实现
- 使用 time_spec 属性 issue_stream cmd 同步示例流
问题是我应该如何在 GNU radio block 或 gr-uhd 库中插入这些定时命令并设置流的 time_spec?
我查看了接收器/源代码所在的 gr-uhd 文件夹,发现了可以更改的函数。 不幸的是,我不知道如何复制或导出这个库来进行这些修改,然后编译以将我的自定义块插入 GNU Radio,因为 gr-uhd 似乎是在安装 GR 时内置和编译的。 我尝试应对然后制作 lib,但那不是方式 - 它没有成功。我应该通过 gr_modtool 添加自己的源代码块并只插入我需要的命令吗? 与 uhd 及其功能的兼容性除了仅添加几行之外将有利于不从头开始编写源代码。
请指教
编辑
实验流程图,基于 Marcus Müller 的建议:
Experimental usrp synchronization flow
【问题讨论】:
标签: gnuradio gnuradio-companion usrp software-defined-radio uhd