GNURadio入门教程-(1)介绍

1、GNU Radio介绍

1.1 什么是 GNU Radio?

GNU Radio 是一个自由的开源软件开发工具包,它提供信号处理块来实现软件无线电。它可以与现成的低成本外部RF硬件一起使用,以创建软件定义的无线电,或者在类似仿真的环境中无需硬件。它广泛用于研究、工业、学术界、政府和业余爱好者环境,以支持无线通信研究和现实世界的无线电系统。

下面显示了 GNU Radio Companion(GRC) 可视化编辑器中的一个示例流程图:

 

GNU Radio 是一个框架,使用户能够设计、模拟和部署功能强大的真实无线电系统。它是一个高度模块化的、面向“流程图”的框架,带有一个全面的处理模块库,可以很容易地组合成复杂的信号处理应用程序。GNU Radio已被用于大量现实世界的无线电应用,包括音频处理,移动通信,跟踪卫星,雷达系统,GSM网络,数字无线电Mondiale等等 - 所有这些都在计算机软件中。它本身不是与任何特定硬件通信的解决方案。它也不为特定的无线电通信标准(例如,802.11,ZigBee,LTE等)提供开箱即用的应用程序,但它可以(并且已经)用于开发基本上任何频段限制通信标准的实现。

 

GNU Radio 带有大量现有的块。这些块都可以在块文档中找到(Category:Block Docs - GNU Radio)。只是为了给你一个标准安装中可用内容的一小部分摘录,以下是一些最受欢迎的块类别及其一些成员:

² Waveform Generators波形发生器

² Modulators 调制器

² Instrumentation (i.e., GUIs) 仪器仪表(即 GUI)

² Math Operators 数学运算

² Channel Models 频道模型

² Filters Expand滤波器

² Fourier Analysis 傅里叶分析

使用这些模块,只需将适当的模块连接到信号处理流程图,即可完成许多标准任务,例如归一化信号、同步、测量和可视化。

此外,您可以编写自己的块,以提供新功能和一些逻辑。

因此,GNU Radio主要是用于开发信号处理块及其交互的框架。它带有一个广泛的标准块库,并且开发人员可以基于许多可用的系统进行构建。然而,GNU Radio 本身并不是准备做一些特定事情的软件——用户的工作是从中构建一些有用的东西,尽管它已经提供了许多有用的工作示例。将其视为一组构建基块。

1.2 GNU Radio安装

Ubuntu 22.04

sudo apt-get install gnuradio

v3.10.1.1

Ubuntu 20.04

sudo add-apt-repository ppa:gnuradio/gnuradio-releases sudo apt-get update

sudo apt-get install gnuradio python3-packaging

v3.10.5.0

Windows

Install the latest Radioconda installer

Launch "GNU Radio Companion" from the Start menu

v3.10.5.1

macOS

Install Homebrew

brew install gnuradio

v3.10.5.1

其它安装方式参考InstallingGR - GNU Radio,也可以安装DragonOS系统,上面自带GNU Radio Companion 软件

1.3 创建第一个流图

(实验A01_sineWaveFlowgraph.grc)

GNU Radio Companion (GRC) 是一个用于创建和运行流程图的可视化编辑器。GRC使用.grc文件,然后将其转换为Python.py流程图。

打开GRC软件,双击选项块并通过编辑Id和Title来命名流程图(其中,Id是流图和python文件的文件名,也可以理解为项目名称,如sineWaveFlowgraph.py,Title是对流程图的描述)

 

 

 

 

 

 

 

 

搜索并添加Blocks

GNU Radio 带有一个信号处理块库。可以使用右侧的箭头浏览块。也可以使用 CTRL + F 或通过点击放大镜来搜索块,将搜索到的block拖拽到工作区。

 

 

 

 

将 Signal Source,Throttle, QT GUI Frequency Sink(频域) , QT GUI Time Sink(时域) 等块拖进工作区如下:

 

 

 

 

这些块需要连接。红色文本表示块仍有需要连接的输入或输出,然后才能运行流图。连接合理的块文本从红色变为黑色

 

 

 

 

运行结果如下

 

 

 最后,存储下两个文件,第一个文件是sineWaveGRC.grc,包含用于在GRC中显示流程图的信息。第二个文件是 sineWaveFlowgraph.py,包含实际的Python流程图代码。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值