gnuradio_logo_glyphs_as_paths.svg

开源软件无线电(Gnuradio)或 开源软件定义无线电 是一个对学习,构建和部署软件定义无线电系统的免费软件工具包。发起于2001年,Gnuradio1 现在成为 GNU 的正式项目之一。慈善家 John Gilmore 发起并捐助 $320,000.00 (US) 给 Eric Blossom 用来构建代码和维护。

Gnuradio 是一个无线电信号处理方案,它遵循 GNU 的 GPL 的条款分发。它的目的是给普通的软件编制者提供探索电磁波的机会,并激发他们聪明的利用射频电波的能力。

正如所有软件定义无线电系统的定义, 可重构性是其最重要的功能。再也不需购买一大堆发射接收设备,只要一台可以装载信号处理软件(这里:Gnuradio)通用的设备。目前它虽然只定义几个有限的无线电功能,但是只要理解无线发射系统的机理(算法),你便可以任意的配置去接受它。

Gnuradio 起源于美国的麻省理工学院的 SpectrumWare 项目小组开发的 Pspectra 代码的分支。2004年被完全重写。所以今天的 Gnuradio 已不包含原 Pspectra 任何代码。另外值得一提的是 Pspectra 已被用作创立商业化的 Vanu Software Radio.

Gnuradio 开发了通用软件无线电外设(USRP 和USRP2 ),它是一个包含4个64 MS/s 的12位 ADC,4 个 128 MS/s 的 14 位的 DAC,以及其它支持线路包括高速的 USB 2.0 接口。该USRP能够处理的信号频率高达16 MHz宽。一些发射器和接收器的插件子板,可覆盖0至5.9MHz 频段。 它是 Ettus 研发的。

Introduction to GNU Radio and Software Radio

What is GNU Radio?

GNU Radio is a framework that enables users to design, simulate, and deploy highly capable real-world radio systems. It is a highly modular, “flowgraph”-oriented framework that comes with a comprehensive library of processing blocks that can be readily combined to make complex signal processing applications.

GNU Radio has been used for a huge array of real-world radio applications, including audio processing, mobile communications, tracking satellites, radar systems, GSM networks, Digital Radio Mondiale, and much more – all in computer software.

It is, by itself, not a solution to talk to any specific hardware. Nor does it provide out-of-the-box applications for specific radio communications standards (e.g., 802.11, ZigBee, LTE, etc.,), but it can be (and has been) used to develop implementations of basically any band-limited communication standard.

Why would I want GNU Radio?

Formerly, when developing radio communication devices, the engineer had to develop a specific circuit for detection of a specific signal class, design a specific IC that would be able to decode or encode that particular transmission and debug these using costly equipment.

Software-Defined Radio (SDR) takes the analog signal processing and moves it, as far as physically and economically feasible, to processing the radio signal on a computer using algorithms in software.

You can, of course, use your computer-connected radio device in a program you write from scratch, concatenating algorithms as you need them and moving data in and out yourself. But this quickly becomes cumbersome: Why are you re-implementing a standard filter? Why do you have to care how data moves between different processing blocks? Wouldn’t it be better to use highly optimized and peer-reviewed implementations rather than writing things yourself? And how do you get your program to scale well on a multi-core architectures but also run well on an embedded device consuming but a few watts of power?

Enter GNU Radio: A framework dedicated to writing signal processing applications for commodity computers. GNU Radio wraps functionality in easy-to-use reusable blocks, offers excellent scalability, provides an extensive library of standard algorithms, and is heavily optimized for a large variety of common platforms. It also comes with a large set of examples to get you started.

Digital Signal Processing

As a software framework, GNU Radio works on digitized signals to generate communication functionality using general-purpose computers.

A little signal theory

Doing signal processing in software requires the signal to be digital. But what is a digital signal?

To understand better, let’s look at a common “signal” scenario: Recording voice for transmission using a cellphone.

A personal physically speaking creates a sound ‘signal’ – the signal, in this case, is comprised of waves of varying air pressure being generated by the vocal chords of a human. A time-varying physical quantity, like the air pressure, is what is defined as a signal.

Applying Digital Signal Processing to Radio Transmissions

The same principles as for sounds can be applied to radio waves:

A signal, here electromagnetic waves, can be converted into a varying voltage using an antenna.

A modular, flowgraph based Approach to Digital Signal Processing

GNU Radio is a framework to develop these processing blocks and create flowgraphs, which comprise radio processing applications.

As a GNU Radio user, you can combine existing blocks into a high-level flowgraph that does something as complex as receiving digitally modulated signals and GNU Radio will automatically move the signal data between these and cause processing of the data when it is ready for processing.GNU Radio comes with a large set of existing blocks. Just to give you but a small excerpt of what’s available in a standard installation, here’s some of the most popular block categories and a few of their members:

Waveform Generators

Constant Source

Noise Source

Signal Source

Modulators

AM Demod

Continuous Phase Modulation

PSK Mod / Demod

DPSK Mod / Demod

GMSK Mod / Demod

QAM Mod / Demod

WBFM Receive

NBFM Receive

Instrumentation

Constellation Sink

Frequency Sink

Histogram Sink

Number Sink

Time Raster Sink

Time Sink

Waterfall Sink

Math Operators

Abs

Add

Complex Conjugate

Divide

Integrate

Log10

Multiply

RMS

Subtract

Channel Models

Channel Model

Fading Model

Dynamic Channel Model

Frequency Selective Fading Model

Filters

Band Pass / Reject Filter

Low / High Pass Filter

IIR Filter

Generic Filterbank

Hilbert

Decimating FIR Filter

Root Raised Cosine Filter

FFT Filter

Fourier Analysis

FFT

Log Power FFT

Goertzel (Resamplers)

Fractional Resampler

Polyphase Arbitrary Resampler

Rational Resampler (Synchronizers)

Clock Recovery MM

Correlate and Sync

Costas Loop

FLL Band-Edge

PLL Freq Det

PN Correlator

Polyphase Clock Sync

Using these blocks, many standard tasks, like normalizing signals, synchronization, measurements, and visualization can be done by just connecting the appropriate block to your signal processing flow graph.

Also, you can write your own blocks, that either combine existing blocks with some intelligence to provide new functionality together with some logic, or you can develop your own block that operates on the input data and outputs data.

Thus, GNU Radio is mainly a framework for the development of signal processing blocks and their interaction. It comes with an extensive standard library of blocks, and there are a lot of systems available that a developer might build upon. However, GNU Radio itself is not a software that is ready to do something specific — it’s the user’s job to build something useful out of it, though it already comes with a lot of useful working examples. Think of it as a set of building blocks.

下载地址

$ apt-get install gnuradio

On Fedora, run:

$ yum install gnuradio

linux无线电工具grax,开源软件无线电GNU Radio相关推荐

  1. 开源linux 二进制工具,谷歌开源二进制文件对比工具 BinDiff

    谷歌上周五宣布BinDiff开源--这是给安全研究人员用于进行二进制文件分析和对比的工具.早在2011年的时候,谷歌就收购了Zynamics,也就成为了BinDiff的东家,那个时候这款工具就已经很流 ...

  2. 基于GNU Radio 无线电平台实现各种常规通信信号的模拟,可以结合ad9361、USRP、HackRFone等SDR平台实现发射和接收实验

    一.GNU Radio 介绍 GNU Radio是一个用来帮助无线通信开发者设计.搭建和实现无线通信系统的框架和工具.GNU Radio具有高度模块化.基于流程图的特点,针对复杂的信号处理应用场景,提 ...

  3. 如何提升 Linux 服务器安全的开源工具和技巧?

    本文基于我作为初学者迄今所学的知识,详细介绍了六个简单的步骤,以提高个人使用的 Linux 环境的安全性.在我的整个旅程中,我利用开源工具来加速我的学习过程,并熟悉了与提升 Linux 服务器安全有关 ...

  4. 走进“开源SDR实验室” 一起玩转GNU Radio:AGC自动增益控制

    本文内容.开发板及配件仅限用于学校或科研院所开展科研实验! 温馨提示:"开源SDR实验室"是北京的. 本文介绍GNU Radio中的AGC自动增益控制模块. 在开始介绍之前,首先推 ...

  5. 走进“开源SDR实验室” 一起玩转GNU Radio:滤波器

    本文内容.开发板及配件仅限用于学校或科研院所开展科研实验! 温馨提示:"开源SDR实验室"是北京的. 本文介绍GNU Radio中的滤波器模块. 本文讲解视频:https://ww ...

  6. 走进“开源SDR实验室” 一起玩转GNU Radio:量化器

    本文内容.开发板及配件仅限用于学校或科研院所开展科研实验! 温馨提示:"开源SDR实验室"是北京的. 本文介绍GNU Radio中的Quantizer量化器模块. 在开始介绍之前, ...

  7. 走进“开源SDR实验室” 一起玩转GNU Radio:生成噪声信号

    本文内容.开发板及配件仅限用于学校或科研院所开展科研实验! 温馨提示:"开源SDR实验室"是北京的. 本文介绍GNU Radio中的生成噪声信号相关模块. 在开始介绍之前,首先推荐 ...

  8. 走进“开源SDR实验室” 一起玩转GNU Radio:选择器Selector

    本文内容.开发板及配件仅限用于学校或科研院所开展科研实验! 温馨提示:"开源SDR实验室"是北京的. 本文介绍GNU Radio中的选择器模块. 在开始介绍之前,首先推荐一下Ale ...

  9. 走进“开源SDR实验室” 一起玩转GNU Radio:gr-channels

    本文内容.开发板及配件仅限用于学校或科研院所开展科研实验! 温馨提示:"开源SDR实验室"是北京的. 本文介绍GNU Radio源码的gr-channels相关实例及模块. 目录 ...

  10. 走进“开源SDR实验室” 一起玩转GNU Radio:gr-analog

    本文内容.开发板及配件仅限用于学校或科研院所开展科研实验! 温馨提示:"开源SDR实验室"是北京的. 本文介绍GNU Radio源码的gr-analog相关实例及模块. 目录 一. ...

最新文章

  1. MySQL高级 - 应用优化
  2. 文献学习(part27)--Regularization Paths for Cox’s Proportional Hazards Model via Coordinate Descent
  3. CVE-2020-3580: Cisco ASA安全软件XSS漏洞
  4. java 将bean转化为map,将javabean转化为map对象
  5. vn的可变数据类型_可变与不可变数据类型详解
  6. HDOJ 4003 Find Metal Mineral (树DP)
  7. MaxDOS V7 PXE网刻教程
  8. linux消息队列优缺点,linux消息队列概念
  9. 2020-09-22回忆一下高中物理的弹性碰撞速度公式推导
  10. 使用计算机辅助翻译,计算机辅助翻译方法
  11. Apollo星火计划学习笔记——Apollo速度规划算法原理与实践
  12. 启动redis出现闪退(已解决)
  13. 一种用于NDN的安全的链路状态路由协议
  14. AIX pv vg lv fs 文件系统
  15. WIN10应用商店(MicrosoftStore)闪退解决方法!!!
  16. 美赛latex模板单独修改目录的行间距
  17. 极致视觉追求 六款热门高清屏笔记本推荐
  18. word宏命令批量修改图片大小
  19. Android培训班(67)dex文件打开流程
  20. 基于web的中国古诗词的设计与实现springboot-计算机毕业设计

热门文章

  1. FireBug使用方法
  2. 麦咖啡设置指南------详细介绍访问保护的设置方法抵御未知病毒
  3. Winform SplitContainer控件可调整大小
  4. 电脑知识 如何提取图片中的文字
  5. CouchBase简单介绍
  6. 2021十大进销存软件排名
  7. CUDA核函数share memory
  8. 怎么完全卸载赛门铁克_赛门铁克专用卸载工具
  9. ygbook小说网站源码 自动采集赚钱源码 ThinkPHP+MYSQL开发
  10. ffmpeg 博客-雷霄骅