GNU Radio在SDR领域的应用
1 Software Defined Radio
软件无线电(Software Defined Radio,SDR)是一种实现无线通信的新概念和体制。其中以往只能在硬件中实现的组件(例如混频器,滤波器,放大器,调制器/解调器,检测器等),现在可以通过软件手段在个人计算机上或嵌入式系统上实现。一开始被应用在军事领域,在21世纪初,由于众多公司的努力,使得它已从军事领域转向民用领域,成为经济的、应用广泛的、全球通信的第三代移动通信系统的战略基础。(翻译自维基百科)

图 1 Software Defined Radio(Wikipedia)
基本的SDR系统可以由装备有声卡或其他模数转换器的个人计算机组成,之前是某种形式的RF前端。大量的信号处理被交给通用处理器,而不是在专用硬件(电子电路)中完成。这种设计产生一种无线电装置,它可以仅仅基于所使用的软件来接收和发送广泛不同的无线电协议(有时也称为波形),简化了系统设计。(翻译自维基百科)
2 GNU Radio
2.1什么是GNU Radio
GNU Radio是一个框架,使用户能够设计,模拟和部署高性能的现实世界无线电系统。它是一个高度模块化的“流程图”框架,配有一个综合的处理块库,可以轻松地组合起来,形成复杂的信号处理应用程序。
GNU Radio是一个免费的开源软件开发工具包,提供信号处理模块来实现软件无线电。它可以与易于使用的低成本外部RF硬件一起使用,以创建软件定义的无线电,或者在类似仿真环境中使用硬件。它广泛应用于业余爱好,学术和商业环境,以支持无线通信研究和现实世界无线电系统。
2.2那么GNU Radio究竟做了什么呢
GNU Radio执行所有信号处理。您可以使用它来编写应用程序以从数字流中接收数据或将数据推送到数字流中,然后使用硬件传输数据。GNU Radio具有过滤器,通道代码,同步元件,均衡器,解调器,声码器,解码器和许多其他元素(在GNU Radio术语中,我们称之为这些元素块),这些元素通常在无线电系统中找到。 更重要的是,它包括连接这些块然后管理数据如何从一个块传递到另一个块的方法。扩展GNU Radio也很简单; 如果找到缺少的特定块,则可以快速创建并添加它。
由于GNU Radio是软件,它只能处理数字数据。通常,复杂的基带采样是接收机的输入数据类型和发射机的输出数据类型。然后使用模拟硬件将信号移动到所需的中心频率。除此之外,任何数据类型都可以从一个块传递到另一个块 - 无论是位,字节,向量,突发或更复杂的数据类型。
GNU Radio应用程序主要使用Python编程语言编写,而所提供的性能关键信号处理路径在C ++中使用处理器浮点扩展(如果可用)实现。因此,开发人员能够在简单易用的快速应用开发环境中实现实时,高吞吐量的无线电系统。
2.3我可以编程使用GNU Radio吗
这是非常有用的 但是,有没有办法使用GNU Radio无法编码。首先,GNU Radio Companion是一个类似于Simulink的图形用户界面。它允许您通过拖放来创建信号处理应用程序。此外,GNU Radio还提供了一套即用型工具和实用程序。这些用于管理最基本的操作,如记录RF信号和进行频谱分析。如果这引发了你的兴趣,也许看看初学者的指南如何使用GNU Radio。
但是,如果要扩展GNU Radio(即添加新功能),则必须编写代码。 为了创建对GNU Radio Companion来说太复杂的应用程序,Python是最简单的方式。对于性能关键的代码,您应该编写C ++代码。
2.3 GNU Radio如何获得许可
GNU Radio根据GNU通用公共许可证(GPL)版本3许可。所有代码均为自由软件基金会的版权。
3演示

图 2 软件界面
4硬件

图 4 Hardware
5 参考
GNU Radio在SDR领域的应用的更多相关文章
- [SDR] GNU Radio 系列教程(一) —— 什么是 GNU Radio
目录 1.GNU Radio 是什么 2.我为什么要用 GNU Radio 3.数字信号处理 3.1 一点信号理论 3.2 将数字信号处理应用于无线电传输 4.基于流程图的模块化数字信号处理方法 本文 ...
- [SDR] GNU Radio 系列教程(二) —— 绘制第一个信号分析流程图
目录 1.前言 2.启动 GNU Radio 3.新增块 4.运行 本文视频 参考链接 1.前言 本文将介绍如何在 GNU Radio 中创建和运行第一个流程图. 2.启动 GNU Radio GNU ...
- GNU Radio 入门培训
1. GNU Radio介绍 1.1 什么是GNU Radio GNU Radio是一个完全开源的软件无线电结构平台,它可以用来设计和仿真,也可以用来连接真实的无线电系统.GNU Radio是一个高度 ...
- GNU Radio的hello world(转)
运行GNU Radio 需要注意的是,如果您的项目不需要用到硬件源和硬件池的话,直接使用Shell运行GRC是没有问题的.但是需要用到硬件源和硬件池的话,请记得使用管理员权限运行GRC,否则项目在执行 ...
- GNU Radio Radar Toolbox
GNU Radio Radar Toolbox Install guide Change to any folder in your home directory and enter followin ...
- GNU Radio: Overview of the GNU Radio Scheduler
Scetion 1: The Flowgraph The flowgraph moves data from sources into sinks. 一个流图由多个模块组成,其中一般包括信源(Sour ...
- GNU Radio: Synchronization and MIMO Capability with USRP Devices
Application Note Synchronization and MIMO Capability with USRP Devices Ettus Research Introduction S ...
- GNU Radio: USRP2 and N2x0 Series
Comparative features list 相对性能清单 Hardware Capabilities: 1 transceiver card slot External PPS referen ...
- GNU Radio: Multiple USRP configurations 配置多个USRP设备
Introduction 引言 Some USRP devices are capable of being grouped to form a single, virtual device. A s ...
随机推荐
- 沉淀再出发:关于netty的一些理解和使用
沉淀再出发:关于netty的一些理解和使用 一.前言 Netty是由JBOSS提供的一个java开源框架.Netty提供异步的.事件驱动的网络应用程序框架和工具,用以快速开发高性能.高可靠性的网络服务 ...
- VS 2012 在 windows 8 中无法使用 Deubgger.Lunch() 对服务进行调试
找到了外文资料: Debugger.Launch() not displaying JIT debugger selection popup on Windows 8/8.1 If execu ...
- Hexo Next配置百度分享、加入动态背景、接入网页在线联系功能、页脚增加统计功能、添加gitment、添加热度、阅读量排行
Hexo Next配置百度分享.加入动态背景.接入网页在线联系功能.页脚增加统计功能.添加gitment.添加热度.阅读量排行: https://wangc1993.github.io/categor ...
- August 25th 2017 Week 34th Friday
Stop to have a rest, do not forget others still in the running. 停下来休息的时候,不要忘记别人还在奔跑. You don't need ...
- solr集群搭建(4.10.2)
配置环境为centos6.8 下载tomcat程序到服务器,并解压启动服务测试 [root@hadoop01 ~]# wget http://apache.claz.org/tomcat/tomcat ...
- vs项目同步到gitee方法
前提:vs配置过登录后 进入命令行后执行: git push --set-upstream origin master
- js oc与线程
分属不同的线程 //定义需要暴露给js的内容,这里我们只暴露personName和queryPersonName接口 @protocol PersonProtocol <JSExport> ...
- Maven经常使用命令
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/UP19910522/article/details/25985021 Maven库: http:// ...
- programming-languages学习笔记--第3部分
programming-languages学习笔记–第3部分 */--> pre.src {background-color: #292b2e; color: #b2b2b2;} pre.src ...
- Python 模块化 from .. import 语句资源搜索顺序 (三)
接着上一篇文章最后的import子句资源搜索顺序,我们来写几个例子了解下. 例一. #test1.py x = 123 #test.py import test1 print(dir()) print ...