本文内容、开发板及配件仅限用于学校或科研院所开展科研实验!

淘宝店铺名称:开源SDR实验室

HackRF链接:https://item.taobao.com/item.htm?spm=a1z10.1-c.w4004-13257850194.8.69503d888aIzVL&id=526187854860

实验环境:

硬件平台---HackRF One、天线(40-860MHz)
软件环境---Ubuntu运行HackRF环境
系统版本信息---Ubuntu-14.04 (64-bit),内核:3.13.0-32-generic

实验步骤:

按照下图所示搭建一个WBFM接收的GRC程序。

1. HackRF接收信号

HackRF用osmocom Source模块来接收FM信号,其中采样率设置为变量samp_rate,

Ch0:Frequency (Hz)设置为变量center_freq。
用一个Signal Source产生一个频率为center_freq-channel_freq的余弦波来与osmocom Source模块的输出相乘,进行频谱搬移。

2. 低通滤波
低通滤波器的截止频率设置为100kHz,过渡带宽为25kHz,Decimation抽取值为100,经过此模块后的采样率由20MHz变为了200kHz。

3. 重采样
使用Rational Resampler模块来继续调整采样率,以此来满足后续Audio Sink模块需要的48kHz做准备。
经过Rational Resampler模块作用,采样率变化过程为200kHz—>200k*12/5=480kHz。

4. WBFM接收
使用WBFM接收模块来进行WBFM解调,其中Audio Decimation为10,表示将采样率480kHz要变为480k/10=48kHz,以此来适应Audio Sink所要求的48kHz。
Quadrature Rate表示的是WBFM Receive模块所期望的输入采样率为480kHz。

5. 音量调节
使用一个Multiply Constant模块来调节声音音量大小。这个数值的取值设定为一个可调节的变量volume_gain(QT GUI Range)。
运行该GRC程序后,你会看到以下界面,并且你会听到北京的103.915MHz的北京交通广播电台。如果你在别的地方的话,你可以通过调节Channel Frequency的值来找到你所在位置的电台。(这里,在找FM电台的时候,有一个技巧,就是你先通过gqrx来找到你那里能听到的电台的频率值,然后再用这个程序来有针对性的调节Channel Frequency,等找到电台后,如果有杂音的话,可以再慢慢微调Center Frequency和Volume,此外,Volume并不是越大越好,比如我这里我用Volume是1是最清楚的,如果有杂音,可以带上耳机寻找FM电台会更好一些。)

GNU Radio GRC HackRF实现FM接收的更多相关文章

  1. GNU Radio 入门培训

    1. GNU Radio介绍 1.1 什么是GNU Radio GNU Radio是一个完全开源的软件无线电结构平台,它可以用来设计和仿真,也可以用来连接真实的无线电系统.GNU Radio是一个高度 ...

  2. GNU Radio的hello world(转)

    运行GNU Radio 需要注意的是,如果您的项目不需要用到硬件源和硬件池的话,直接使用Shell运行GRC是没有问题的.但是需要用到硬件源和硬件池的话,请记得使用管理员权限运行GRC,否则项目在执行 ...

  3. GNU Radio: Synchronization and MIMO Capability with USRP Devices

    Application Note Synchronization and MIMO Capability with USRP Devices Ettus Research Introduction S ...

  4. GNU Radio: Overview of the GNU Radio Scheduler

    Scetion 1: The Flowgraph The flowgraph moves data from sources into sinks. 一个流图由多个模块组成,其中一般包括信源(Sour ...

  5. GNU Radio: USRP2 and N2x0 Series

    Comparative features list 相对性能清单 Hardware Capabilities: 1 transceiver card slot External PPS referen ...

  6. GNU Radio在SDR领域的应用

    1 Software Defined Radio 软件无线电(Software Defined Radio,SDR)是一种实现无线通信的新概念和体制.其中以往只能在硬件中实现的组件(例如混频器,滤波器 ...

  7. GNU Radio: 自定义 block 实例

    综述 本文通过在GNU Radio 中编写一个block的例子,系统介绍创建一个block的过程.该 block 的功能是可以在GRC中通过滑块(WX GUI Slider)来实时改变信号源(Sign ...

  8. 【译】GNU Radio How to write a block 【如何开发用户模块及编写功能块】

    本文讲解如何在GNU Radio中添加用户开发的信号处理模块,译文如有不当之处可参考原文地址:http://gnuradio.microembedded.com/outoftreemodules Ou ...

  9. Ubuntu18.04安装UHD+GNU Radio后找不到USRP B210解决办法

    一.在终端中输入uhd_usrp_probe,提示USB错误,没有权限. 解决办法: 输入 : sudo uhd_usrp_probe 二.GNU Radio中出现找不到设备,地址为空的错误: 错误原 ...

随机推荐

  1. 虚机的SQL Server空间占满之后进行释放的一些操作

    用了好几年的一个虚机,数据库是SQL Server 2008,配额500M. 今天忽然发现无法录入数据,登录后台一看,原来是数据库容量满了. 很久没用SQL Server了,找到一段之前用过的收缩数据 ...

  2. HDU4513:完美队形II(Manacher)

    Description Input Output Sample Input   Sample Output   Solution 才发现我之前不会证$Manacher$复杂度……QAQ 题意是求最长向 ...

  3. ubuntu18.04 mariadb start失败

    在Ubuntu 安装mariadb 再restart 后出现错误 journalctl -xe 发现 apparmor权限问题 AppArmor 是一款与SeLinux类似的安全框架/工具,其主要作用 ...

  4. 编写一个ComputerAverage抽象类,类中有一个抽象方法求平均分average,可以有参数。定义 Gymnastics 类和 School 类,它们都是 ComputerAverage 的子类。Gymnastics 类中计算选手的平均成绩的方法是去掉一个最低分,去掉一个最高分,然后求平均分;School 中计算平均分的方法是所有科目的分数之和除以总科目数。 要求:定义ComputerAv

    题目: 编写一个ComputerAverage抽象类,类中有一个抽象方法求平均分average,可以有参数. 定义 Gymnastics 类和 School 类,它们都是 ComputerAverag ...

  5. CentOS中用Nexus搭建maven私服,为Hadoop编译提供本地镜像

    系统: CentOS release 6.6 (Final) Nexus:nexus-2.8.1-bundle.tar.gz,下载地址:https://sonatype-download.global ...

  6. 404 Note Found队Beta4

    目录 组员情况 组员1(组长):胡绪佩 组员2:胡青元 组员3:庄卉 组员4:家灿 组员:恺琳 组员6:翟丹丹 组员7:何家伟 组员8:政演 组员9:黄鸿杰 组员10:刘一好 组员11:何宇恒 展示组 ...

  7. react使用阿里字体图标

    1. 在react项目的public文件夹下面创建iconfont文件夹,将下载的文件放到iconfont文件夹下 2.在public文件夹下的index.html引入iconfont.css,如 & ...

  8. spark 基础开发 Tips总结

    本篇博客主要是 sparksql 从初始开发注意的一些基本点以及力所能及的可优化部分的介绍: 所使用spark版本:2.0.0       scala版本:2.11.8 1. SparkSession ...

  9. django中间件-12

    目录 自定义中间件 函数定义 类定义 中间件的执行顺序 在django中,中间件其实就是一个类,他是一个可以介入django的 request 和 response 的钩子框架,在请求响应不同的阶段, ...

  10. react canvas

    http://engineering.flipboard.com/2015/02/mobile-web/