GNU Radio简介及流程图搭建

文章目录

  • 前言
  • 一、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,欢迎交流!


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/421567.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

无偿!全代码!增删改查+redis+token+mybatisplus 完整代码+讲解适合大一大二以及新手小白 Controller层讲解

这是一个简单的基础的且有不足的代码1.设置了一个管理员账号用于登录页面(用到简单的redis和token)2.增删改查(批量or单个删除)患者信息3.可更改患者身体状况4.excl表导出患者总体信息4.计算不同地区的患者情况并用前端以图标形式…

校园疫情防控信息管理系统的设计与实现-计算机毕业设计源码12057

摘 要 如今计算机行业的发展极为快速,搭载于计算机软件运行的数据库管理系统在各行各业得到了广泛的运用,其在数据管理方面具有的准确性和高效性为大中小企业的日常运营提供了巨大的帮助。自从2020年新冠疫情爆发以来,防疫成了社会关注的重中…

结构体的内存对齐(计算题常考点)

许久不见我考完试回来啦,让我们接着将结构体进行到底! 目录 结构体对齐的意义: 结构体对齐的实现: 对齐规则: 训练: 好到这里误区来了: 总结: 往期回顾: 下期预告&…

docker使用http_proxy配置代理

钢铁知识库,一个学习python爬虫、数据分析的知识库。人生苦短,快用python。 在内网服务器中,docker经常需要下载拉取镜像,但由于没有网络要么只能手动导入镜像包,又或者通过http_proxy代理到其它服务器下载。 解决方法…

Elasticsearch+Kibana 学习记录

文章目录 安装Elasticsearch 安装Kibana 安装 Rest风格API操作索引基本概念示例创建索引查看索引删除索引映射配置(不配置好像也行、智能判断)新增数据随机生成ID自定义ID 修改数据删除数据 查询基本查询查询所有(match_all)匹配查…

腾讯产品面试题:为什么水果店不卖蔬菜,蔬菜店却卖水果?

嗨,亲爱的小伙伴们!小米又来啦~ 今天我要和大家聊一聊一个超级有趣的话题——腾讯产品面试题:为什么水果店不卖蔬菜,蔬菜店却卖水果?这是不是让你脑洞大开呀?!不过别着急,小米会给你…

【Leetcode】2788. 按分隔符拆分字符串

文章目录 题目思路代码 题目 题目链接 给你一个字符串数组 words 和一个字符 separator ,请你按 separator 拆分 words 中的每个字符串。 返回一个由拆分后的新字符串组成的字符串数组,不包括空字符串 。 注意 separator 用于决定拆分发生的位置&#…

预防校园火灾守护校园安全:巡检系统的使命与责任

校园安全的重要性 校园场所因人员密集而具有特殊的安全风险,一旦发生事故往往会引发严重后果。近日方城一小学发生的火灾造成了13人遇难,这样的悲剧再次提醒我们,生命安全绝对不能忽视。因此,预防校园火灾是每一个校园管理者和师生…

PS滤镜插件:Adobe Camera Raw 16 for Mac中文激活版

Adobe Camera Raw是Adobe公司开发的一款用于处理数码相机RAW格式文件的软件插件。它可以在Adobe Photoshop、Adobe Bridge和Adobe Lightroom等软件中使用,用于调整RAW文件的曝光、白平衡、对比度、色彩饱和度、锐化等参数,从而得到更好的图像质量。 软件…

Mysql - 定点型(DECIMAL)的使用详解及练习

目录 🐶1. 前言: 🐶2. DECIMAL类型简介 🐶3. Decimal使用实战 🥪#结论1:小数位不足会自动补0 🥪#结论2:小数位超出会截断 并按四舍五入处理。 🥪#结论3&#xff1…

[嵌入式软件][启蒙篇][仿真平台] STM32F103实现串口输出输入、ADC采集

上一篇:[嵌入式软件][启蒙篇][仿真平台] STM32F103实现LED、按键 文章目录 一、串口输出(1) 简介(2) 示例代码(3) 仿真效果 二、串口输入(1) 简介(2) 示例代码(3) 仿真效果 三、ADC采集(1) 简介(2) 示例代码(电压)(3) 仿真效果 (…

[足式机器人]Part2 Dr. CAN学习笔记- 最优控制Optimal Control Ch07-4 轨迹追踪

本文仅供学习使用 本文参考: B站:DR_CAN Dr. CAN学习笔记 - 最优控制Optimal Control Ch07-4 轨迹追踪 1. 目标误差控制-误差的调节2. 稳态非零值控制3. 输入增量控制 1. 目标误差控制-误差的调节 2. 稳态非零值控制 3. 输入增量控制