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 参考

  1. https://www.gnuradio.org/
  2. https://redpitaya.com/

GNU Radio在SDR领域的应用的更多相关文章

  1. [SDR] GNU Radio 系列教程(一) —— 什么是 GNU Radio

    目录 1.GNU Radio 是什么 2.我为什么要用 GNU Radio 3.数字信号处理 3.1 一点信号理论 3.2 将数字信号处理应用于无线电传输 4.基于流程图的模块化数字信号处理方法 本文 ...

  2. [SDR] GNU Radio 系列教程(二) —— 绘制第一个信号分析流程图

    目录 1.前言 2.启动 GNU Radio 3.新增块 4.运行 本文视频 参考链接 1.前言 本文将介绍如何在 GNU Radio 中创建和运行第一个流程图. 2.启动 GNU Radio GNU ...

  3. GNU Radio 入门培训

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

  4. GNU Radio的hello world(转)

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

  5. GNU Radio Radar Toolbox

    GNU Radio Radar Toolbox Install guide Change to any folder in your home directory and enter followin ...

  6. GNU Radio: Overview of the GNU Radio Scheduler

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

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

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

  8. GNU Radio: USRP2 and N2x0 Series

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

  9. GNU Radio: Multiple USRP configurations 配置多个USRP设备

    Introduction 引言 Some USRP devices are capable of being grouped to form a single, virtual device. A s ...

随机推荐

  1. 第六次作业——Excel制作工资表

  2. August 24th 2017 Week 34th Thursday

    If you have choices, choose the best. If you have no choice, do the best. 如果有选择,那就选择最好的:如果没有选择,那就努力做 ...

  3. [C++]auto_ptr绑定到指针

    接受指针的构造函数为explicit构造函数,所以必须使用初始化的直接形式来创建auto_ptr对象: auto_ptr<int> pi = new int(1024);//error a ...

  4. Python 处理脚本的命令行参数(二):使用click

    安装click pip install click 使用步骤 使用@click.command() 装饰一个函数,使之成为命令行接口 使用@click.option() 等装饰函数,为其添加命令行选项 ...

  5. [朴孝敏/Loco][Nice Body]

    歌词来源:http://music.163.com/#/song?id=28738294 作曲 : 勇敢兄弟/大象王国 [作曲 : 勇敢兄弟/大象王国] 作词 : 勇敢兄弟 [作词 : 勇敢兄弟] A ...

  6. LINUX下OA搭建

  7. 关于 MapReduce

    继续摘抄<Hadoop 权威指南>第二章,跳过不少于我复杂的东西,但依然是捉急的效率,开始觉得看不完另外一本全英文的书,大概每天要看5页吧... 以上. MapReduce 是一种可用于数 ...

  8. SAP ABAP里数据库表的Storage Parameters从哪里来的

    如何查看ABAP数据库表的storage parameter? 事务码SE11,utilities->Database Object->Database Utility: 点这个Stora ...

  9. MyBatis(3)-映射文件

    本次博文有疑问,请先看MyBatis(1)-简单入门 和 MyBatis(2)-全局配置文件! 如在有疑问,请留言或者咨询博主,博主每天都在!谢谢! 映射文件: 主要是在xxxmapper.xml文件 ...

  10. linq中当生成asp.net实体模式时

    linq中当生成asp.net实体模式时 注意: 选中 工具->库程序包管理器->管理解决方案的nuget程序包  选中下面的进行下载.