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