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