问题标签 [usrp]

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.

0 投票
0 回答
407 浏览

c++ - 无法执行 UHD 示例 C++ 代码

我正在尝试执行此处给出的UHD C++ 示例代码

我可以在mode下成功构建F6项目,Debug

在此处输入图像描述

现在,如果我尝试F5在模式下执行项目Debug,它会引发此警告并暂停执行。

在此处输入图像描述

&然后我尝试使用断点定位失败的位置并发现在创建过程中usrp object

如果有人指出我正确的方向以及为什么在这一点上失败了,那就太好了?

编辑 1:打断需要(根据IInspectablefree.c建议)

在此处输入图像描述

0 投票
1 回答
318 浏览

c++ - 尝试在 C++ 中创建 USRP 对象时分配错误

使用 UHD 库时出现错误 - “错误分配”。

我正在尝试编译一些基本代码以了解有关 UHD 库的更多信息。编译程序后出现错误。

代码:

}

发生错误的部分代码:

错误:在此处输入图像描述

我在用着:

  • 微软 Visual C++ 速成版 2010
  • C++ 语言
  • 超高清库,Win32_VS2010.exe,003.007.003-release
  • 升压库 1_63_0
  • 我没有将任何 URSP 设备连接到我的计算机。

我不知道该错误是与 UHD 库还是与 C++ 语言有关。我试图使用不同版本的 Microsoft Visual Studio 和不同版本的 UHD 库(包括最新版本)来编译这个程序。我什至试图在不同的 PC 上编译它,但结果相似,没有中断程序的错误,但我在控制台中收到字符串“错误:分配错误”,程序停止在同一个位置工作。

当我第一次开始编译这个程序时,我没有收到“错误分配错误”(UHD_003.004.000 - 发布)。我收到一条错误消息 - “错误:LookupError: KeyError: No device found for ----->。之后我决定将我的 UHD 库版本升级到较新的版本 (003.007.003),然后开始出现错误的分配错误发生。我试图重新安装以前的版本,但没有帮助。

我试图将device_args 的类型string更改为uhd::device_addr_t,就像http://files.ettus.com/manual手册中所说的那样,但错误并没有消失。

任何帮助,将不胜感激。

0 投票
1 回答
96 浏览

linux - 搭建 OpenBTS 的开发环境

我想对 OpenBTS 代码做一些小改动并使用它。目前我正在关注这个过程

  1. 对代码进行一些更改。(无法在运行时测试这些更改)
  2. 构建包
  3. 安装软件包
  4. 设置或运行 OpenBTS
  5. 测试 OpenBTS 的行为,看看这些变化是否得到反映。
  6. 如果不起作用,请转到步骤 1

这是一个相当忙碌的过程,有没有更聪明的方法来做到这一点。就像 OpenBTS 是直接从代码运行的,而不是安装在 Ubuntu 上的软件包。如果我对代码进行更改,它们会直接反映在我的设置中。我如何设置这个开发环境。

0 投票
2 回答
1315 浏览

c++ - 未定义参考[USRP] [UHD]

我一直在尝试编译以下网站中给出的代码以创建 USRP 对象 https://kb.ettus.com/Getting_Started_with_UHD_and_C%2B%2B

对于懒惰的病人,只需包含代码:

起初我是通过代码块使用 GCC 编译器,然后决定通过命令行使用 MinGW 测试 gcc 和 g++,两者都在编译时导致:

我阅读了有关将 lib 文件链接到项目的信息,但我下载的 API 似乎没有任何 .lib、.a 或任何其他 lib 类型的文件。我从他们的网站http://files.ettus.com/manual/page_install.html下载了它。

任何形式的帮助都将不胜感激,我一直试图找出问题所在几个小时。请注意,我正在使用 Windows 10 操作系统。

0 投票
0 回答
85 浏览

signal-processing - 如何使用 USRP B200 捕获 0db 帧?

我正在研究 zigbee 灯链接(ZLL)配置文件。我想使用 USRP B200 在 ZLL 中捕获帧。在 ZLL 中有称为 Inter-PAN 帧的帧,这些帧将仅以 0db(零增益)传输。我试图通过将接收器靠近桥接来捕捉这些。但我无法捕获那些跨 PAN 帧。我捕获的其他帧。

如何使用 USRP B200 捕获 0db 帧?

0 投票
1 回答
898 浏览

usrp - 通过 UHD API 寻址多个 B200 设备

我在使用 UHD USRP C API 最新版本和 Python 3.6 作为编程环境的 Windows 10 系统上的 USB3 上有 2 个 B210 无线电。我可以“有点”在单独的进程中同时运行它们,但想知道是否可以在单个线程中运行它们?如何?

1 如果它使事情变得更容易,我很高兴迁移到 Linux,我只是更熟悉 Windows。

2“排序”=我有时会遇到错误,这可能是两个进程在堆栈中的某个地方发生冲突。

下面的代码说明了竞态条件,有时一个或两个进程失败并出现错误代码 40 (UHD_ERROR_ASSERTION) 或偶尔出现代码 11 ( UHD_ERROR_KEY )

0 投票
1 回答
235 浏览

crc32 - 为什么 CRC32 在 gnuradio 中是非线性的?

我对 gnuradio 中 CRC32 的非线性有疑问。

我正在做一个需要线性 CRC32 的项目,这意味着:crc(a xor b) = crc(a) xor crc(b),其中 a 和 b 代表一个数据包。

gnuradio 中 CRC32 的实现默认是非线性的,所以我不得不修改代码以使其成为线性。

我对 CRC 背后的理论做了一些研究,发现了非线性 CRC 实现背后的两个原因:

1- 使用线性 CRC,我们可以对 2 个不同的零数据包具有相同的 CRC,例如 crc(0000 0000) = crc(00000 00 00000)。因此,如果我向仅包含零的数据包添加额外的零,那么 CRC 将无法检测到错误(额外的零)。

2-第二个原因是,对于线性 CRC,如果我在数据包的开头添加零,则 CRC 将无法检测到错误。例如:crc(10010 1101) = crc(0000 1000 1101)

现在我的问题是:在两个 USRP 之间传输数据包时,位可能有错误(例如,由于 SNR 不好),所以位“1”可能变成位“0”,反之亦然。但是,我不认为可以在数据包中添加位(如上述两种情况),因此实现非线性 CRC 的原因不适用于 gnuradio。

那么为什么我们在 gnuradio 中默认有一个非线性 CRC 呢?

而且,如果我在两个 USRP 之间传输时使用线性 CRC,那会有问题吗?

谢谢,

0 投票
1 回答
441 浏览

c++ - 软件定义无线电 USRP X310 的测试程序

我想为我的软件定义无线电 USRP X310 运行第一个测试程序,该程序在公司网站上提供:https ://kb.ettus.com/Getting_Started_with_UHD_and_C%2B%2B

我在 Windows 上使用 Visual Studio 2015。我已经在 VS2015 中安装、构建和链接了 boost 和 UHD 库(UHD 版本 3.10.1.1 和 boost 版本 1.63.0)。

尝试调试程序时,我收到几条关于“未解析的外部符号”的错误消息。我试图找出问题所在,最后得到了非常基本的代码示例,并注意到函数 'uhd::usrp::multi_usrp::make(device_args)' 不起作用。此外,'uhd::set_thread_priority_safe()' 也不起作用。

在我看来,代码本身不是问题。有谁知道这些错误来自哪里?

我的代码 #include <uhd/utils/safe_main.hpp>

错误消息(很抱歉它们是德语。我翻译了它们,写在括号中):

0 投票
1 回答
1387 浏览

gnuradio - 如何在未来使用 UHD/GNURadio 接收有限数量的样本?

我正在使用到 UHD 的 GNURadio python 接口,我正在尝试设置一个特定的时间来开始收集样本并收集特定数量的样本或在特定时间停止样本的收集。本质上,创建样本的定时快照。这类似于 C++ Ettus UHD 示例“rx_timed_sample”。

我可以让流程图在特定时间开始,但我似乎无法让它在特定时间停止(至少不会导致溢出)。我也尝试过进行有限采集,这很有效,但我无法让它在特定时间开始。所以我有点迷茫下一步该做什么。

这是我对有限采集的尝试(似乎只是忽略了开始时间并收集了 0 个样本):

我还尝试了以下一些组合但没有成功(TypeError:在方法'usrp_source_sptr_issue_stream_cmd'中,类型为'::uhd::stream_cmd_t const &'的参数2):

我还在流程图中尝试了以下内容:

无论出于何种原因,在超过 0.02 秒的收集时间的情况下,生成的流程图始终会溢出。

0 投票
1 回答
1119 浏览

c++ - 使用 2 个 USRP N210 发送和接收

我对 SDR 非常陌生,对 DSP 的背景很少。我安装了 uhd 驱动程序和依赖项,并且可以运行/构建 c++ 示例。如果我在 TX 端运行 tx_samples_from_file 或 tx_waveform 并在 RX 端运行 rx_samples_to_file,我会在 .dat 文件中得到随机字符。请问rx_samples_to_file的功能是什么?我认为 rx_samples_to_file 应该获得与接收到的样本等效的复杂 IQ 采样数据。

最终,我想用 USRP 实现的是生成随机整数,使用 QAM 或 QPSK 进行映射和调制,并使用简单的 RF1(背靠背)连接使用 USRP TX 发送和使用 USRP RX 接收。

请帮忙