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 ...
随机推荐
- 企业级Apache详解
安装Apache #Apache安装 rpm -qa|grep httpd yum install httpd #2编译安装: -->推荐安装 cd /root/software yum -y ...
- 未能从程序集 C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Data.Entity.Build.Tasks.dll 加载任务“EntityClean”
问题: 未能从程序集 C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Data.Entity.Build.Tasks.dll 加载任务“Entity ...
- CentOS7.4 Keepalived+LVS 负载均衡 后台节点健康检查
主机信息 VIP 10.10.10.55 LVS01 10.10.10.59 Web01 10.10.10.60 Web02 10.10.10.61 一.apache简单配置 1.(10.10.10. ...
- [COGS 2065]学数数
2065. 学数数 ★★★☆ 输入文件:jxthree.in 输出文件:jxthree.out 简单对比时间限制:1 s 内存限制:256 MB [题目描述] 从前有一只咩,还有一只叽 ...
- java抽象继承-模板方法
//模板方法:步骤提前设计好,用的时候只需要改步骤内容 public class TemplateDemo { public static void main(String[] args) { // ...
- javascript学习2
上次我们了解到 JavaScript提供了一组以window为核心的对象,实现了对浏览器窗口的访问控制.JavaScript中定义了6种重要的对象: window对象 表示浏览器中打开的窗 ...
- browserify文件后函数调用报is not defined的原因
举个例子: a.js ; module.exports.a = a; b.js var result = require('./a'); var getA =() => { console.lo ...
- PHPStorm自定义主题配置
1.下载喜欢的主题 官方下载地址:下载 2.将.icls主题文件放到PHPStorm的配置中 windows下主题位置:C:\Users\Administrator\.PhpStorm2017.3\c ...
- ASP.Net GridView 基础 Template模板
一.了解Template AlternatingItemTemplate定义交替行的内容和外观,如果没有规定模板,则使用ItemTemplate:EditItemTemplate定义当前正在编辑的行的 ...
- LINUX下安装pcre出现WARNING: 'aclocal-1.15' is missing on your system错误的解决办法
1.下载安装包 wget https://ftp.gnu.org/gnu/automake/automake-1.15.tar.gz 2.解压 tar -xzvf automake-1.15.tar. ...