《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还是不建议在虚拟机上搞。
《USRP B210》制作FM收音机相关推荐
- gnuradio+b210实现FM收音机
gnuradio+b210实现FM收音机 环境介绍 FM接收 1 Flow Graph 2 变量参数 FM发射 1 Flow Graph 2 变量参数 环境介绍 Name Version gnurad ...
- GNU Radio + USRP B210 实现FM接收机、FM发射机
GNU Radio + USRP B210 实现FM接收机.FM发射机 FM接收机 FM发射机 FM接收机 流图: 参数设置: 使用USRP Source模块来接收广播信号,设置中心频率center_ ...
- 使用TEA5767和stm32制作一台数字FM收音机
本节我们来使用stm32控制一款集成收音机芯片TEA5767,来制作一台FM收音机. TEA5767是一款低功耗立体声收音IC,接收频率76MHz-108MHz(适应日本/美国/欧洲各FM频段选择)并 ...
- 50行实现C语言FM收音机-Taskbus Stdio封装器在SDR课程中的应用
自从学校引入SDR教学以来,总觉得学生的实验课上的很吃力--还不如学习Matlab仿真算了.原因是编程基础不是很扎实的学生,可能只会使用C语言课上介绍的最基础的知识,这些知识往往无法支持其完成完整的S ...
- RDA5807 FM收音机模块
一. 简介 这是一个购自于淘宝网店的RDA5807调频接收模块,价格只有3块钱人民币.' RDA5807是一颗调频广播单芯片接收调谐芯片.只需要外部非常少的元器件,便可以组成一个完整的调频广播 ...
- TEA5676 + AT24C08 FM收音机 搜台 存台 mmap 实现读写
硬件说明 TEA5767 + AT24c08 要使用耳机收听,不加功放芯片,声音非常小. 这2个芯片都支持 3.3 或 5.0 电源支持 连线比较简单,sda scl 接到 2440 对应的 排针上, ...
- linux上听FM程序,安装和使用Odio在Linux上收听FM收音机的方法
Linux平台上有一些很棒的无线电应用程序可用于在Linux上收听FM Radio(收音机),本文介绍Odio,包括安装和使用它来收听FM收音机的方法. 启用Snap支持和安装Odio 由于Sna ...
- FM收音机入门,以及Python实现FM调制解调
FM收音机入门以及调制解调的实现 FM收音机基础知识 FM的调制和解调原理 PYthon 实现 FM调制与解调 FM调制 FM解调 FM收音机基础知识 调制分为三种:调幅(AM),调频(FM)和调相. ...
- FM收音机ic FM发射模块SX6116
原文地址::http://china.coovee.net/business1/detail/12753421.html 相关文章 1.HS6760 FM调频发射端芯片 SSOP-10封装----ht ...
最新文章
- go linux环境搭建,Linux 下 Go 环境搭建以及 Gin 安装
- 科目三电子路考细节部分
- linux故障排查书籍,Linux系统故障排查和修复技巧.docx
- cacti 监控平台部署心得
- 2011-10-13
- (日常搬砖)voc等xml格式的数据集转换为yolo可用的txt格式的数据集(亲测可用)
- Element-UI el-table组件表格打印
- django开发个人博客系统
- java messagedigest_Java MessageDigest.getInstance返回的实例非线程安全
- 增强学习之一——Q-Learning公式
- Multisim14仿真基本模拟电路之 10.5电压比较器及其应用电路的仿真实验与分析
- 【苹果家庭群发推】Metal performance shader软件安装框架
- 在GitHub上建立自己在线简历
- 人工智能的应用实例——Smartbi大数据AI机器人
- C语言数组指针(指向数组的指针)详解
- 蓝桥杯javaB决赛历届真题6-10届
- 大B和小b的区别及关联
- POJ 2349	 Arctic Network (MST中的第K长路)
- 陆军、海军、空军、雷军!
- 2020 mse 清华_2020年的北大清华在世界上属于什么水平?