N210 连接到 RF 前端,该前端使用 GNU Radio Companion 进行配置。
我可以通过 FFT 图看到信号;我需要将接收到的信号(usrp2 输出)作为数字数字。 usrp_sense_spectrum.py 也将功率和noise_floor 输出为数字数字。
我将不胜感激您的任何帮助。
USRP/GNU Radio 邮件列表中的回答:
亲爱的阿布斯,
您已经在讨论-gnuradio 上提出了这个问题,并且已经得到了两个答案。万一你错过了这些,为了避免人们告诉你你已经知道的事情:
Sylvain 写道,由于许多因素会影响您所看到的数字幅度,您需要校准自己,使用您想要用来测量功率的系统:
您的意思是您希望信号功率为 dBm 值?
只是不会发生...链中的东西太多,您必须针对特定的频率/电路板/增益/温度/月相/...进行校准
我解释说,如果您对估算器的工作方式有数学表示,则可以为您感兴趣的两个值编写自定义估算器块:
>
我假设您已经有明确的公式来定义这两个数字的估计量。除非您可以在 GRC 中直接“一起单击”该估算器,否则您很可能必须实施它。在许多情况下,在 Python 中执行此操作相当容易(尤其是如果您有 Python 或 matlab 背景),因此我建议您至少阅读 https://gnuradio.org/redmine/projects/gnuradio的前 3 章/wiki/Guided_Tutorials
如果这些答案对您没有帮助,我认为解释这些答案缺少什么是明智的,而不是仅仅重新发布相同的问题。
最好的问候,马库斯
我建议您编写一个 python 应用程序并从 USRP 块流式传输原始 UDP 字节。只需添加一个UDP Sink
块并将其连接到UDH: USRP Source
块的输出。选择适当的端口并流式传输到 127.0.0.1 (localhost)
现在,在您的 python 应用程序中,在同一端口上打开一个侦听 UDP 套接字并接收数据。中的每个样本UDH: USRP Source
都是一对复杂的单预视浮点数。这意味着每个样本 8 个字节。首先是 I 浮点数,然后是 Q 浮点数。
请注意,您需要特别注意Payload Size
UDP Sink 中的字段。由于您正在流式传输 localhost,因此您可以在此处使用非常大的值。我建议你使用类似1024*8
这里的东西。这意味着每个数据包将包含 1024 个 IQ Pairs。
我建议您首先连接一个Signal Source
并通过 UDP 套接字将 sin() 波通过管道传输到您的 Python 或 C 应用程序中。这将允许您验证您获得的浮点字节是否正确。确保检查由于缓冲区溢出导致的故障。(这将是你最大的问题)。
如果您还有其他问题,请发表评论或更新您的帖子。