文章目录
- 前言
- 一、GNU Radio 是什么?
- 二、GNU Radio 安装
- 三、搭建第一个流程图
- 1、创建 GRC 文件
- 2、添加块
- 3、运行流程图
前言
欢迎来到无线通信的世界,初步接触 GNU Radio,对其学习进行一个记录。
一、GNU Radio 是什么?
GNU Radio 是一个免费的开源软件开发工具包,提供信号处理模块来实现软件无线电。它可以与现成的低成本外部射频硬件一起使用,以创建软件定义的无线电,也可以在类似模拟的环境中不使用硬件。它被广泛用于研究、工业、学术界、政府和业余爱好者环境,以支持无线通信研究和现实世界的无线电系统。
下面显示了 GNU Radio Companion 可视化编辑器中的示例流程图:
GNU Radio 是一个框架,使用户能够设计、模拟和部署高性能的真实世界无线电系统。它是一个高度模块化的、面向“流程图”的框架,带有一个全面的处理块库,可以很容易地组合成复杂的信号处理应用程序。GNU Radio 已被用于大量现实世界的无线电应用,包括音频处理、移动通信、跟踪卫星、雷达系统、GSM 网络、数字世界广播等,所有这些都是计算机软件。它本身并不是一个与任何特定硬件对话的解决方案。它也不提供特定无线电通信标准(例如802.11、ZigBee、LTE等)的开箱即用应用,但它可以(并且已经)用于开发基本上任何频带受限通信标准的实现。
二、GNU Radio 安装
参考我上一篇博客:使用MATLAB连接USRP
三、搭建第一个流程图
1、创建 GRC 文件
①、打开 GNU Radio Companion,可以看到下图的 GRC 窗口:
②、双击 Options 块并通过编辑 lD 和 Title 命名流程图:
ID 是Python流程图的文件名。将其命名为 sineWaveFlowgraph。标题是流程图的描述。单击“确定”保存更改。
单击文件:保存 GRC 流程图。
输入 sineWaveGRC.grc 作为 .grc 文件的名称,以将其与 ID 区分开来。
GRC 文件被命名并保存
2、添加块
添加块以创建第一个流程图。GNU Radio 附带了一个信号处理块库。可以使用 CTRL+F 来搜索块:
①、搜索信号源块,然后将其拖放到 GRC 工作空间中:
②、现在搜索 Throttle、QT GUI Frequency Sink 和 QT GUI Time Sink。将每个块拖放到工作空间中。流程图应如下所示:
Signal Source 将创建一个复杂的正弦曲线,QT GUI Frequency Sink 将显示频谱的幅度,QT GUI Time Sink 将显示时域。Throttle 块用于在没有无线电硬件的情况下进行流量控制。
③、这些块需要连接。首先单击 Signal Source 的输出(以红色突出显示),然后单击 Throttle 的输入(以橙色突出显示)。
Signal Source 文本从红色变为黑色。红色文本表示在运行流程图之前,块仍有需要连接的输入或输出。将 Throttle 输出连接到频率接收器和时间接收器:
3、运行流程图
1、按播放按钮(以红色突出显示)运行流程图
2、一个新窗口显示时域和频域中的信号:
成功,流程图正在运行。
3、打开文件浏览器。有两个文件。第一个文件是 sineWaveGRC.grc,包含 grc 中流程图显示的信息。第二个文件是sineWaveFlowgraph.py,其中包含实际的 Python 流程图代码。“选项”块中的 ID 决定了.py文件的名称。
更多内容请参考官方文档:https://wiki.gnuradio.org/index.php?title=Tutorials
我的qq:2442391036,欢迎交流!