GNURadio/USRP 流标签执行不符合预期

问题描述 投票:0回答:1

TL;DR:在流上使用标签来切换 USRP(尤其是 X310)的增益似乎是异步执行的。帮助!

嗨,

我正在使用 USRP B210/X310,我正在尝试发送一个包含一些有效载荷的帧,在有效载荷之前和之后都有同步序列。对于有趣的误码率测量,我想为有效载荷获得低 SNR。由于我需要更好的 SNR 来实现更多同步,因此我尝试以高增益发送同步序列,同时以低得多的增益发送有效载荷。

尝试实现这一点时,我在为 GNURadio 块使用标记流命令时遇到了一些意外行为。所以我回去做了最简单的设置,我可以想象:我确实创建了一个复杂的振荡,并每 2000 个样本用一个增益更改命令标记它。增益仅在两个值之间切换。

使用 USRP B210 结果接近我的预期。 this screenshot 中的上图显示了带有标签的传输信号。下图显示了接收信号的绝对值(这样我就可以在增益斜率上触发)。屏幕截图非常接近预期行为,但是(这在屏幕截图中并不真正可见)接收信号中切换增益之间的持续时间波动很大。

使用 USRP X310 结果与预期行为有很大不同。 (除了使用 X310 代替 B210 外,与 B210 相比,流程图没有变化) 我拍摄了this screenshot,其中可以看到,增益切换之间的时间不仅在变化,而且时序也完全关闭。看起来 USRP 会批量执行(或至少异步地)命令并且根本不关心标签的位置。

任何想法,在哪里寻找/如何消除错误?

非常感谢您!

gnuradio usrp
1个回答
0
投票

更新:我找到了一种让它在 X310 上工作的方法(并且在有限的情况下也适用于 B210)

如果我将其实现为突发传输(使用 tx_sob、tx_eob 和 tx_time 标签),我可以从 tx_time 和采样率计算增益变化的时间,并将其添加到 tx_command 标签。 这仅适用于 X310.

对于 B210,时间标签由于某种原因不起作用。但是在突发传输中,tx_command 标签的位置在一定程度上起作用(不是在要求的确切样本上,而是有一些延迟)。

© www.soinside.com 2019 - 2024. All rights reserved.