问题标签 [uhd]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
fpga - FPGA上的SDR实现
我有一个 Altera DE2 cyclone-ii fpga 板,我想在其上使用 GNU Radio 在软件定义无线电(SDR)上实现一个项目。是否可以加载 Ettus Research 提供的 USRP 硬件驱动程序(FPGA 构建)。如果可能的话如何我能做到吗?如果没有,还有其他方法可以在 FPGA 上实现 SDR :)
gnuradio - 带有 Ettus USRP B210 的 gnuradio 中带有 LO 偏移的 2 Rx 不起作用
我在 gnuradio 的 ettus USRP B210 上运行两个 Rx 通道时遇到了一些问题。只有一个输入通道可以正常工作,我可以看到我的信号,但是当我添加第二个通道时,我只会看到噪音。我的接收信号为 404MHz,带宽为 2kHz。
我从单天线到双天线版本的唯一变化是:
- Mb0:子开发规范 A:AA:B
- 频道数 2
uhd - 超高清导入失败
我在 Windows 中构建 uhd(msvc 14.2,boost 1.72.0)。构建工作正常。我可以运行所有命令行实用程序(例如 rx_samples_from_file)而不会出错。
但是在python中我不能导入uhd:
有没有办法告诉哪个 DLL 没有加载?我尝试在 libpyuhd 上使用依赖walker,但它没有显示任何丢失。
python - 使用 Conda 安装 EttusResearch UHD 后出现 ImportError
conda install -c conda-forge uhd
我使用命令安装了带有 Conda 的 UHD 。然后我跑了conda install uhd
。当我尝试导入uhd
时Python3.6
,我得到ImportError
:
windows - USRP X310 无法通过 1GbE 识别
我拥有安装了 Basic TX 子板的 USRP X310。我的计划是通过 10GbE 与带有 Win10 主机的 LabView 一起使用它。我已使用端口 0 和随附的 SFP 适配器将 SDR 与以太网电缆连接到我的主机 PC (1GbE) 以太网接口,以进行网络测试。以太网适配器配置为使用静态 IP 192.168.10.1
。此外,我已经安装了 UHD ( uhd_3.15.0.0-release_Winx64_VS2017.exe
)。但是,当设备连接并打开电源时,我既不能 ping 198.168.10.2 也不能检测到它正在运行uhd_find_devices.exe
. 我还启动了最近更新的 NI-USRP 配置实用程序,但它也无法检测到 SDR。我确实观察到背面的 LED 都没有亮起(尤其是端口 0 以太网)。我怎样才能让它工作?
docker - 使用带有 UHD 的 Ettus B200 USRP 从 Docker 运行 GNU Radio 流程图
我正在尝试从 Docker 容器中运行 GNU Radio 流程图(无 GUI)。主机和 docker 映像上的操作系统都是 Ubuntu 18.04。我正在运行 GNU Radio v3.7.13.4 和 UHD v3.14.0.0。
在我可以运行的主机上grcc -e flowgraph.grc
,它按预期执行。当我尝试在 Docker 容器中运行它时,它会报告
在主机和 Docker 容器中uhd_find_devices
返回:
所以看来我在主机和容器之间正确地共享 USB 设备(尽管我怀疑问题是与此有关的一些更精细的细节)。
我正在运行容器:
docker run -it -v /dev/bus/usb:/dev/bus/usb --privileged csradio:latest
有谁知道是什么问题?
编辑 1:添加了操作系统、GNU 和 UHD 版本详细信息。
gnuradio - 同步 USRP 源块 - 多个 B2xx 设备
我正在尝试在由多个 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 无线电块或 gr-uhd 库中设置流的 time_spec?
我查看了接收器/源代码所在的 gr-uhd 文件夹,发现了可以更改的函数。不幸的是,我不知道如何复制或导出这个库来进行这些修改,然后编译以将我的自定义块插入到 GNU Radio,因为 gr-uhd 似乎是在安装 GR 时内置和编译的。我尝试应对然后制作 lib,但那不是方式 - 它没有成功。我应该通过 gr_modtool 添加我自己的源代码块并只插入我需要的命令吗?除了添加几行之外,与 uhd 及其功能的兼容性将有利于不从头开始编写源代码。
请指教
编辑
实验流程图,基于 Marcus Müller 的建议:
Experimental usrp synchronization flow
c++ - 如何使用 UHD 从 USRP 流式传输固定数量的样本
我正在尝试使用 UHD 库从 USRP X310 设备流式传输固定/精确数量的样本。我在UHD GitHub 页面上引用了一些示例代码。我正在使用建议的while循环将数据一次一个数据包流式传输到缓冲区中。我的问题是最后一个部分数据包(参见下面的示例)从未收到或放入我的缓冲区,我得到uhd::rx_metadata_t::ERROR_CODE_TIMEOUT
错误响应。
例如,如果我想流式传输 1100 个样本并且我的数据包大小设置为 200,我的 while 循环将成功运行 5 次并填充我的缓冲区。但是,当我第六次进入我的 while 循环时(我有 1000/1100 个样本),调用recv()
得到一个超时错误并且样本没有传递到我的缓冲区。在这一点上,我还没有流式传输所有 1100 个样本。
我怎样才能得到我的确切样本数量?
这是recv() 调用文档的链接以供参考。
boost - 使用内存清理程序与静态库链接时提升未定义符号问题
在构建静态库 uhd 类型并使用内存清理器标志 -fsanitize=memory 与 boost 库 v1.74 链接时,我遇到了错误。
我已经使用 target_link_libraries 将 uhd 类型链接到提升库。