-1

N210 连接到 RF 前端,该前端使用 GNU Radio Companion 进行配置。

我可以通过 FFT 图看到信号;我需要将接收到的信号(usrp2 输出)作为数字数字。 usrp_sense_spectrum.py 也将功率和noise_floor 输出为数字数字。

我将不胜感激您的任何帮助。

4

2 回答 2

1

USRP/GNU Radio 邮件列表中的回答:

亲爱的阿布斯,

您已经在讨论-gnuradio 上提出了这个问题,并且已经得到了两个答案。万一你错过了这些,为了避免人们告诉你你已经知道的事情:

Sylvain 写道,由于许多因素会影响您所看到的数字幅度,您需要校准自己,使用您想要用来测量功率的系统:

您的意思是您希望信号功率为 dBm 值?

只是不会发生...链中的东西太多,您必须针对特定的频率/电路板/增益/温度/月相/...进行校准

我解释说,如果您对估算器的工作方式有数学表示,则可以为您感兴趣的两个值编写自定义估算器块:

>

我假设您已经有明确的公式来定义这两个数字的估计量。除非您可以在 GRC 中直接“一起单击”该估算器,否则您很可能必须实施它。在许多情况下,在 Python 中执行此操作相当容易(尤其是如果您有 Python 或 matlab 背景),因此我建议您至少阅读 https://gnuradio.org/redmine/projects/gnuradio的前 3 章/wiki/Guided_Tutorials

如果这些答案对您没有帮助,我认为解释这些答案缺少什么是明智的,而不是仅仅重新发布相同的问题。

最好的问候,马库斯

于 2015-06-05T16:50:46.867 回答
0

我建议您编写一个 python 应用程序并从 USRP 块流式传输原始 UDP 字节。只需添加一个UDP Sink块并将其连接到UDH: USRP Source块的输出。选择适当的端口并流式传输到 127.0.0.1 (localhost)

现在,在您的 python 应用程序中,在同一端口上打开一个侦听 UDP 套接字并接收数据。中的每个样本UDH: USRP Source都是一对复杂的单预视浮点数。这意味着每个样本 8 个字节。首先是 I 浮点数,然后是 Q 浮点数。

请注意,您需要特别注意Payload SizeUDP Sink 中的字段。由于您正在流式传输 localhost,因此您可以在此处使用非常大的值。我建议你使用类似1024*8这里的东西。这意味着每个数据包将包含 1024 个 IQ Pairs。

我建议您首先连接一个Signal Source并通过 UDP 套接字将 sin() 波通过管道传输到您的 Python 或 C 应用程序中。这将允许您验证您获得的浮点字节是否正确。确保检查由于缓冲区溢出导致的故障。(这将是你最大的问题)。

如果您还有其他问题,请发表评论或更新您的帖子。

于 2015-06-04T23:25:55.263 回答