《USRP B210》制作FM收音机

一、环境描述:Ubuntu18.04 虚拟机

PC:I5 8250 8G

硬件设备:USRP B210

LTE胶棒天线

总的工作环境如下图

二、流图介绍:

具体描述

1、Osmocom Source 将收到的射频信号下变频至基带。该模块需要自行安装,安装教程见上一篇帖子《USRP B210》Osmocom 模块的安装,具体参数如下图所示。需要说明的,Deveice Arguments/Ch0:Antenna两个端口需要与硬件设备中的名称一致(硬件设备信息可在终端输入uhd_usrp_probe  来查看)。

Sample Rate 为信号采样率,本例设为2MHz;

Ch0:Bandwidth(Hz)设定天线的接受带宽,本例设为20Mhz;

RF Gain为射频端的接受增益,本例将其设为可变变量。

2、低通滤波模块,信号在Osmocom Source被下变频至基带后,通过该模块进行低通滤波。

Decimation 抽取率设为4,该模块输出采样率为500Khz (2MHz/4=500Khz)。

Cutoff Freq 为低通滤波器的截至频率,这里设为可变变量,默认值为100KHz (因为FM收音机每个台大概占用100KHz);

Transtion Width 为过渡带带宽,这里设置为可变变量,默认值为10Khz (设置值越小滤波器越陡峭,占用的FPGA资源越多)

 

3、FFT Sink模块其实就是一个可视化的观测窗口,默认设置即可。

4、WBFM Receive模块,将接受到的FM信号进行解调,注意采样率设置为500KHz。

5、Rational Resampler 变采样率模块,首先对采样率为500KHz信号抽取500,再插值48,则得到48KHz信号。

6、Audio Sink模块,该模块将信号输入到电脑的声卡,注意采样率只能设置为几个特定的频率,例如这里是48KHz(所以才需要Rational Resampler变采样率模块,将信号采样率变为48KHz)。

7、WX GUI Slider 模块,slider 中文意思是滑杆,故该模块可翻译为“可视化变量调节模块”,本文以一个为例来说明。

ID 设置为freq,对应Osmocom Source模块CH0:Frequency(Hz) 的freq,即该变量对应天线的接收频率。

Lable:可视化窗口中变量的名称,本例设为Receive_Freq。

默认值设为101.7MHz,最小值设为90MHz,最大值设为110Mhz,步进1000Hz。

其它WX GUI Slider 类似,在此不再累述,该模块类似C语言中的设置了一个变量,并赋予该变量的变化范围。

三、程序下载

Generating: '/home/yangkai/top_block.py' 产生 .py文件

红色画圈的即为FM电台,可调节Receive_Freq滑杆改变。大家看数据都是“OOOOOOOOOOO”,这就表示数据没有问题。我在这种情况下确实能听到电台,但是声音频率很低,不知道咋回事,调节滤波器也没有改善。

而如下图时,证明丢包率非常高,听到的效果非常差,原因可能是:采用的是虚拟机,虚拟机限制了USB的数据率。

 

``````````````````````````````````````````````````分割线`````````````````````````````````````````````

请教了其他人,数据不正常可能是因为虚拟机的原因,我在本例中设置的接收带宽为2MHz,所设的值太大了,PC带不动,原因可见:我的板子接受天线处的灯也是一直闪烁,当调低带宽以及采样率后,灯不闪烁,但显示的接收数据仍然是UaO,偶尔会显示OOOOO,感觉还是虚拟机的原因,模块搭建应该是没有问题的,欢迎大家测试验证交流。

以下内容为验证滤波器

我在减小了bandwidth到500KHz之后,希望调节滤波器通带截至频率,验证滤波器的工作情况。

1、我将FFT Sink模块放在了低通滤波器之后,并将基带频率设置为0

2、调节滤波器的通带截至频率分别为30KHz/50KHz,如下两图所示。为显示方便,可改变Avg Alpha的值(感觉该值也是一个滤波器,该值的功能有平均的作用,使图像变化缓慢了,本例调节到0.067)

******************************************分割线***************************************************************************

又修改了一版FM收音机,工作情况如下,工作区输出的UaUa很少,声音正常!我的采样率设置为250KhZ,但是很不稳定,可能下一次实验同样的设置,输出的丢包率就很高,如果真的时要研究USRP还是不建议在虚拟机上搞。

工作流图
相对于第一版,输出的UaUa少多了
当采样率增加到500KHz时,可以看到丢包率很高,
证明虚拟机还是不要设太高的采样率,
这时候我又重新将采样率设置为250khz,发现并没有好转,丢包率依旧很高,
可见下图
 

  • 10
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值