问题标签 [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 投票
1 回答
634 浏览

gnuradio - 通过 GNURadio 操作 NI USRP-2920

我尝试通过 GNUradio 操作 NI USRP-2920。首先,我输入“uhd_find_devices”。结果如下。

接下来,我在终端中输入了“uhd_usrp_probe”。结果如下。

错误:RuntimeError:请为您的设备更新固件和 FPGA 映像。有关说明,请参阅 USRP2/N 系列的应用说明。预期 FPGA 兼容性编号 11,但得到 10:FPGA 构建与主机代码构建不兼容。请运行:

“/usr/local/lib/uhd/utils/uhd_images_downloader.py” “/usr/local/bin/uhd_image_loader” \ --args="type=usrp2,addr=192.168.10.4"

因此,我运行了 uhd_images_downloader。但是,我输入“uhd_usrp_probe”是相同的结果(RuntimError:更新固件)。

你能告诉我任何建议吗?谢谢你。

0 投票
1 回答
442 浏览

gnuradio - GNURadio 认可的 NI USRP-2920

我尝试通过 GNUradio 操作 NI USRP-2920。首先,我输入了“uhd_usrp_probe”。结果如下。

接下来,我在 GNURadio 中运行 FM 收音机。结果如下。

我无法理解这个原因。你能告诉我任何建议吗?谢谢你。

0 投票
0 回答
571 浏览

gps - gps-sdr-sim介绍

我为 NI USRP-2920 尝试了 gps-sdr-sim。一开始,我在 github 中克隆了 gps-sdr-sim。接下来,我在终端中输入了“gcc gpssim.c -lm -03 -o gps-sdr-sim”。结果,在 gps-sdr-sim 目录中创建了 gps-sdr-sim。最后,我输入了“gps-sdr-sim -e brdc3540.14n -g triumphv3.txt”。但是,它在终端中显示“找不到命令”。

我无法理解这个原因。你能告诉我任何建议吗?谢谢你。

0 投票
1 回答
1004 浏览

python - GNU Radio / Python - USRP 同时接收和收集

对于这个冗长的问题,我提前道歉。我想确保我把所有东西都放下了。我在 GNU Radio 的帮助下(并使用 USRP b200)设置了一个看似简单的 python 脚本来连续接收信号,当这个信号达到一定的功率水平时,一个阈值变量会让用户知道信号有被检测到,然后我想开始收集该信号以便稍后查看。所以我有一个等待检测到信号的python脚本,然后当它被检测到时,它将开始使用另一个python脚本进行收集。问题是,USRP 不允许我同时收货和收货。USRP 可以同时接收和收集吗?

我的 GNU Radio 设置

带有功能探针和标签(在检测到信号时向用户显示)

GNU 生成/我更新的 Python 代码

USRP_Collect

问题: 当我尝试调用 USRP_collect 以在我的 autoCollect 脚本中运行时,它开始运行它,但是当它运行时会tb = usrp_read()出现错误

然后是运行时错误

我尝试运行视图文件而不是收集文件(视图只显示信号的 fft,它自己工作)并且当我尝试调用类时它给了我同样的错误。

0 投票
0 回答
309 浏览

gnuradio - usrp x310 全双工:接收流程图可能导致发送端出现下溢问题

我们在全双工模式下使用一个 usrp x310 和两个 UBX 160(一个 ubx 用于发送,第二个用于接收,具有 10G 连接)。在代码中,建立了两个单独的 TX 和 RX 流程图(在单个进程下)。顶部块:

然而,在实际测试中,我们发现一旦RX流程图忙于处理数据,发送端在发送数据包时会出现严重的下溢问题。采样率仅为 5Msps,在相同的采样率下,单独使用 TX 流程图不会出现下溢,单独使用 RX 流程图也不会出现溢出。

由于这两个流程图是分开的,并且 gnuradio 会将一个线程分配给一个块,因此在我看来,处理数据不应该对传输产生影响(独立)。我想知道这怎么会发生。我也尝试使用 gr::hier_blocks::set_processor_affinity 来分离核心资源,但它没有用。也许在 RX 流程图忙于处理时,发送器上的块无法获得所需的资源?

对此观察的任何解释以及有关如何解决此问题的任何建议将不胜感激!

0 投票
1 回答
404 浏览

usrp - 无线电之间的 UHD B210 相位同步

我有两个 B210 无线电共享一个 10MHz 外部主时钟和 1pps 时间信号。我注意到,每次我在两个无线电上同时启动接收流时,它们都会出现随机但量化的相位变化。例如,如果内部主时钟频率设置为 16MHz,采样率为 1Mhz,则相位差是 Pi/6 的随机倍数。请注意,这是在不同的 B210 无线电之间 - B210 的两个射频通道之间没有这种差异。对于我正在进行的测量,我需要收音机处于锁相状态,而不仅仅是频率锁定。我目前的工作是在每次捕获开始时将校准信号注入所有无线电以测量这种差异,然后通过调整软件中的样本来补偿它。

我在 UHD API 中是否遗漏了一些东西,它允许我将无线电锁定在一起,这样它们就没有这种变化?

0 投票
0 回答
935 浏览

c++ - 从同一通道发送和接收时,x310 上的缓冲区不足

我在双 10 Gigabit 以太网的 x310 上运行,配备双基本 tx rx 子板。我在 UHD 版本 3.11.0 上运行。理想情况下,我想要两个同时发送和接收流,利用两个通道来发送和接收。我不想为 2 个接收和传输流使用 2 个 x310

当我在同一个通道上同时发送和接收时,无论速率如何,我都会将很多 U 打印到控制台信号下溢。但是,如果我在不同的通道上发送和接收(tx_streamer 在通道 1 有 stream_args,而 rx_streamer 在通道 0 有 stream_args),它工作得很好。

我附上了一个完整但简单的程序的源代码,希望能证明我的问题。在这个程序中,创建了两个线程:一个发送线程和一个接收线程。接收线程不断将数据接收到缓冲区并用新数据覆盖该缓冲区。传输线程不断地从预填充的缓冲区中传输 0。

如果有人有一个跨 10Gbps 以太网运行的 x310,你能编译并运行我的程序来测试这个问题是否不仅发生在我身上吗?

这是我们已经测试过的:

  • 我在一个运行两个 12 核英特尔至强处理器的服务器系统上运行。(https://ark.intel.com/products/91767/Intel-Xeon-Processor-E5-2650-v4-30M-Cache-2_20-GHz)。我的网卡是推荐的x520 da2。之前有人建议 NUMA 是一个问题,但我认为情况并非如此,因为当我们切换到在单独的通道上发送和接收时,程序可以工作。

  • 由于当我们在不同的通道上发送和接收时程序运行良好,所以我相信这不是 CPU 电源问题。

  • 我测试了只发送和只接收。我们可以在两个通道上以 200MS/s 的速度传输,我们可以在两个通道上以 200MS/s 的速度接收,但我们不能从同一个通道发送和接收。这表明我们的网卡工作正常,我们可以处理高速率。

  • 我已经在 UHD 3.10.2 上尝试过我的程序,但问题仍然存在

  • 我尝试将 tx_metadata 设置为在传输前等待 2 秒。问题仍然存在。

  • 我试过运行示例程序 txrx_loopback_from_file 并且适用于同时接收和传输,但我不知道为什么。

从最后一点开始,我相信我以某种方式错误地调用了 uhd API,但我不知道错误在哪里。任何帮助将不胜感激。

谢谢,

杰森

0 投票
0 回答
655 浏览

python - 自定义块问题 GNU RADIO

我在 GNU Radio 中的流程图出现了一些问题。我构建了一个自定义块作为延迟块,因为本机块在我的应用程序中效果不佳。在我的自定义块之前有一个 UHD 源。它以 4M 的采样率工作。但是,当我开始模拟时,它会产生溢出(“O”)。我认为这很奇怪,因为当我将 UHD 源的输出保存在文件中,然后在“离线”模式下再次播放模拟时,不会出现溢出错误。换句话说,当我在“在线”模式下工作时,我遇到了问题。仅当我使用 UHD Source 而不是 UHD Source 之前保存的文件时。

在此处输入图像描述

Delay_amostra_sync 块代码:

导入 numpy

从 gnuradio 导入 gr

class Delay_amostra_sync(gr.sync_block): """ 块 Delay_amostra_sync 的文档字符串 """ def init (self, var): gr.sync_block。init (self, name="Delay_amostra_sync", in_sig=[numpy.complex64], out_sig=[numpy.complex64]) self.var = var self.cont = 0
self.buffer = numpy.array([])
self.c = 1

返回长度(输出项目[0])

0 投票
1 回答
102 浏览

usrp - 如何通过redhawk 2.0.7 集成usrp n200?

我正在尝试通过 redhawk 2.0.7 中的 usrp 传输信号。为此,我制作了一个简单的波形并将其导出到 Redhawk explorer 视图中的目标 SDR。之后,我创建了一个节点并在该节点中包含 usrp uhd 设备。我已将此节点项目导出到目标 sdr。之后,我通过右键单击目标 sdr 启动了域管理器。通过这样做,GPP 和 usrp 都在设备管理器中启动。但是当我启动波形时,它给了我错误。

创建应用程序失败。未能为应用程序创建使用设备依赖项 rh.USRP_UHD_1。IDL:CF/ApplicationFactory/CreateApplication: 1.0

我的问题是如何将组件连接到 usrp 设备,以便 usrp 可以从组件(例如信号发生器)获取输入以在传输箱中通过空中传输信号,并且在接收箱中,它可以向组件输入端口提供信号.

0 投票
2 回答
74 浏览

gnuradio - GNURadio 中的单播消息

我有一台 USRP B210 和 E312,它们之间传输的所有消息都是通过广播消息。

有没有办法在 GNURadio 中传输单播消息(点对点)?

如果是的话,你能帮我举个例子吗?