首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >同步USRP源块.多个B2xx设备

同步USRP源块.多个B2xx设备
EN

Stack Overflow用户
提问于 2020-07-17 11:33:45
回答 2查看 686关注 0票数 1

我试图在gnu无线电中创建一个同步的usrp源块,由多个B210 USRP设备组成。朗: C++。

根据我所发现的,我需要:

  • 实例化多个multi_usrp_sptr,因为每个B210需要一个,而多个B210设备不能使用单个sptr进行寻址。
  • 使用外部频率和PPS源-可以从块中选择或以编程方式设置
  • 同步再调整以实现节点之间的可重复相位偏移-这可以使用定时命令API UHD实现。
  • 使用time_spec属性issue_stream cmd同步示例流

问题是我应该如何插入这些定时命令,并在GNU无线电块或gr-uhd库中设置time_spec?

我查看了gr文件夹,其中接收器/源代码驻留,并找到了可以更改的函数。不幸的是,我不知道如何复制或导出这个库来进行这些修改,然后编译以将我的自定义块插入到GNU Radio中,因为gr-uhd似乎是内置并在GR安装时编译的。我试着应付,然后做自由,但这不是方法-它没有成功。我应该通过gr_modtool添加我自己的源代码块并只插入我需要的命令吗?与uhd及其功能的兼容性,除了添加几行之外,将有利于不从头开始编写源代码。

请指教

编辑

实验流程图,根据马库斯·穆勒的建议:

实验usrp同步流

EN

回答 2

Stack Overflow用户

发布于 2020-07-23 12:57:04

问题是我应该如何插入这些定时命令并在GNU无线电块或gr-uhd库中设置流的time_spec?

对于USRP接收器:将包含有正确命令时间的字典的标记添加到流中。GNU无线电API文档有关于这些字典的外观的信息。time字段是您需要用适当的值设置的。

对于USRP源:在set_start_time块上使用uhd_usrp_source;使用上面描述的相同的字典来发出命令,比如调优,在一个协调的时间进行增益设置。

票数 0
EN

Stack Overflow用户

发布于 2020-07-27 19:42:03

我试图找到一种通过标签同步USRP的正确方法。在这种方法中,我遇到了一些问题:

  1. 定时命令需要了解当前的时间,这是通过usrp.get_time_now()完成的,尽管我会请求USRP通过标记给出时间,我将不得不从输出中提取时间。(使某种循环和适当的触发)(源:UHD)或可能计划的一切不是以相对的方式-使用绝对值而不是偏移。我已经看到了一种定期重置每个PPS的时间感觉的方法(将其设置为0.0),并且可能会在0.01.0范围内设置命令时间是可以接受的。然后,读取和插入命令时间的循环也将是多余的。
  2. 我没有找到一种通过块在GR中创建dicts的方法,以使解决方案具有可伸缩性(而无需在textbox中编写几行代码)或编写OOT块
  3. 最后,只有很少的信息可以说明哪种解决方案是最合适的(PDU、events、标记在GR中仍然相关吗?),而且文档非常稀少,所以在发送了一些邮件之后,我决定添加一个简单的类,它继承主top_bock.py,在实例化top_block之后调用几个函数来同步设备。这种解决方案并不是最灵活的解决方案,必须通过继承的方法调用父类top_block.py,但是它可以提供一个简单的编程接口。

不久,我将添加一个用于继承类的代码示例,以防万一。

如果有任何更整洁、动态或可伸缩的解决方案,请让我知道或向我指出源代码.

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62953107

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档