GNU Radio简介及流程图搭建

news2024/10/1 23:39:38

文章目录

  • 前言
  • 一、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.coloradmin.cn/o/1395294.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【C语言编程之旅 4】刷题篇-关键字

第一题 解析 C语言关键字:C语言定义的,具有特定含义、专门用于特殊用途的C语言标识符,也称为保留字 A:错误,关键字是语言自身定义的 B:正确 C:错误,关键字具有特殊含义&#xff…

docker部署项目,/var/lib/docker/overlay2目录满了如何清理?

docker部署项目,/var/lib/docker/overlay2目录满了如何清理? 一、问题二、解决1、查看 /var/lib/docker 目录(1)、containers 目录(2)、volumes 目录(3)、overlay2 目录 2、清理&…

Java开发分析 JProfiler 14 中文

JProfiler 14是一款强大的Java分析工具,专为帮助Java开发者优化应用性能而设计。它提供了实时监控、内存分析、线程分析、CPU分析等多种功能,帮助开发者快速定位和解决性能问题。JProfiler 14具有直观的用户界面,使用户能够轻松上手。此外&am…

苹果Find My可查找添加32件物品,伦茨科技ST17H6x芯片加速产品赋能

苹果最近更新的支持文档证实,从 iOS 16 开始,"Find My"可查找添加物品从16件增加到32件,AirTag 和“查找”网络中的物品利用“查找”网络的强大功能来发挥作用,这个网络由数亿台加密的匿名 Apple 设备构成。“查找”网络…

Kafka-多线程消费及分区设置

目录 一、Kafka是什么?消息系统:Publish/subscribe(发布/订阅者)模式相关术语 二、初步使用1.yml文件配置2.生产者类3.消费者类4.发送消息 三、减少分区数量1.停止业务服务进程2.停止kafka服务进程3.重新启动kafka服务4.重新启动业…

PPT大神带你飞!!!

1、OneKeyTools 官网:http://oktools.xyz/ OneKeyTools是一款免费开源的PowerPoint第三方平面设计辅助插件,功能涵盖了形状、调色、三维、图片处理、辅助功能等等方面。 插件功能: 插件从面世逐步受到广大PPT设计师和爱好者的追捧&#x…

感谢大家的支持,继续耕耘

有什么大家感兴趣的领域,欢迎留言

SSH数据流量监控

简介 检查网络连接的数据传输情况有以下一些实际意义: 安全监控:检查数据传输情况可以帮助你识别异常活动或潜在的安全威胁。如果发现大量不寻常的数据传输活动,可能表示有未经授权的访问或恶意行为。通过监控数据传输,可以及时发…

软件测评中心▏正式验收测试和非正式验收的优缺点简析

软件正式验收测试需要非常严格的管理,是对系统测试的延续,这种验收测试的测试用例应是系统测试的子集。非正式验收测试不像正式验收测试那么严格,不需要执行指定的测试用例,可以由测试人员自主决定,但制定测试用例时必…

node.js(express.js)+mysql实现登录功能

文章目录 前言实现步骤 实现步骤一、检测登录表单的数据是否合法(3)新建schema/user.js(4)在routes/use.js中引入schema/user.js中的方法reg_login_schema,代码如下: 二、根据用户名查询用户的数据三、判断…

浅析Redis①:命令处理核心源码分析(上)

写在前面 Redis作为我们日常工作中最常使用的缓存数据库,其重要性不言而喻,作为普调开发者,我们在日常开发中使用Redis,主要聚焦于Redis的基层数据结构的命令使用,很少会有人对Redis的内部实现机制进行了解&#xff0c…

C++:类与结构体的对比

2024年1月18日 内容来自The Cherno:C系列 -------------------------------------------------------------------------------------------------------------------------------- C中关于class与struct,几乎没有区别,只有一个关于“可见度”的区别…

Go 爬虫之 colly 从入门到不放弃指南

文章目录 概要介绍如何学习官方文档如何安装快速开始如何配置调试分布式代理层面执行层面存储层面存储多收集器配置优化持久化存储启用异步加快任务执行禁止或限制 KeepAlive 连接扩展总结如果想用 GO 实现爬虫能力,该如何做呢?抽时间研究了 Go 的一款爬虫框架 colly。 概要…

【前后端的那些事】15min快速实现图片上传,预览功能(ElementPlus+Springboot)

文章目录 Element Plus SpringBoot实现图片上传,预览,删除效果展示 1. 后端代码1.1 controller1.2 service 2. 前端代码2.1 路由创建2.2 api接口2.2 文件创建 3. 前端上传组件封装 前言:最近写项目,发现了一些很有意思的功能&…

SD-WAN组网设计原则:灵活、安全、高效

在实现按需、灵活和安全的SD-WAN组网方案中,我们必须遵循一系列关键的设计原则,以确保网络的可靠性和效率。通过以下几点设计原则,SD-WAN能够满足企业对灵活性、安全性和高效性的迫切需求。 灵活的Overlay网络互联 SD-WAN通过IP地址在站点之间…

appium之联动pycharm

前置条件: 1.java环境安装好了 2.android-sdk安装好(uiautomatorviewer 也可以把这个启动起来) 3.appium安装好 4.adb devices查看下设备是否连接 pycharm入门代码--固定写法 from appium import webdriver# 定义字典变量 desired_caps …

SpringMVC下半篇之异常处理器及日期转换器

3.异常处理器 如果不加以异常处理,错误信息肯定会抛在浏览器页面上,这样很不友好,所以必须进行异常处理。 3.1.异常处理思路 系统的dao、service、controller出现都通过throws Exception向上抛出,最后由springmvc前端控制器交由…

线性代数基础【5】特征值和特征向量

第五章 特征值和特征向量 第一节、特征值和特征向量的基本概念 一、特征值和特征向量的理论背景 在一个多项式中,未知数的个数为任意多个,且每一项次数都是2的多项式称为二次型,二次型分为两种类型:即非标准二次型及标准二次型 注意: ①二次型X^T AX为非标准二次型的充分必…

在线扒站网PHP源码-在线扒站工具网站源码

源码介绍 这是一款在线的网站模板下载程序,也就是我们常说的扒站工具,利用它我们可以很轻松的将别人的网站模板样式下载下来,这样就可以大大提高我们编写前端的速度了!注:扒取的任何站点不得用于商业、违法用途&#…