《USRP B210》制作FM收音机

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

PC:I5 8250 8G

硬件设备:USRP B210

LTE胶棒天线

总的工作环境如下图

《USRP B210》制作FM收音机

二、流图介绍:

《USRP B210》制作FM收音机

具体描述

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

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

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

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

《USRP B210》制作FM收音机

《USRP B210》制作FM收音机

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

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

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

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

 

《USRP B210》制作FM收音机

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

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

《USRP B210》制作FM收音机

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

《USRP B210》制作FM收音机

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

《USRP B210》制作FM收音机

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语言中的设置了一个变量,并赋予该变量的变化范围。

《USRP B210》制作FM收音机

三、程序下载

《USRP B210》制作FM收音机

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

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

《USRP B210》制作FM收音机

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

《USRP B210》制作FM收音机

 

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

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

以下内容为验证滤波器

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

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

《USRP B210》制作FM收音机

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

《USRP B210》制作FM收音机

《USRP B210》制作FM收音机