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.mfbz.cn/a/333614.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【重点!!!】【背包】【回溯】518.零钱兑换II

题目 跟39.组合总数、322.零钱兑换题目很类似。 法1:背包DP,最优解法 解释如下: 0 1 2 3 4 5(背包容量)1 0 0 0 0 0 没有硬币的时候) 0 1 2 3 4 5(背包容量) 1 1 1 1 1 1 1 0 1 2 3 4 5(背包容量) 1 …

深入解析 Java 方法引用:Lambda 表达式的进化之路

前言 方法引用是 Java 8 提供的一种新特性,它允许我们更简洁地传递现有方法作为参数。这项特性实际上是对 Lambda 表达式的一种补充,通过方法引用,我们可以直接引用现有方法,而无需编写完整的Lambda表达式。最近在使用方法引用的…

Spring(19) ThreadPoolTaskExecutor 线程池的使用

目录 一、线程池简介1.1 为什么使用线程池1.2 线程池为什么需要使用队列1.3 线程池为什么要使用阻塞队列而不是用非阻塞队列1.4 如何配置线程池1.5 execute() 和 submit() 方法 二、ThreadPoolTaskExecutor 线程池简介2.1 简介2.2 核心参数配置2.3 ThreadPoolTaskExecutor 内部…

TortoiseSVN客户端如何安装配置并实现公网访问服务端提交文件到本地服务器

文章目录 前言1. TortoiseSVN 客户端下载安装2. 创建检出文件夹3. 创建与提交文件4. 公网访问测试 前言 TortoiseSVN是一个开源的版本控制系统,它与Apache Subversion(SVN)集成在一起,提供了一个用户友好的界面,方便用…

CSV文件中json列的处理2

如上所示,csv文件中包含以中括号{}包含的json字段,可用如下方法提取: import pandas as pd from datetime import date todaystr(date.today()) import jsonfilepath/Users/kangyongqing/Documents/kangyq/202401/调课功能使用统计/ file104…

顶顶通呼叫中心中间件如何实现自己呼叫自己并且放音:一步步配置(mod_cti基于FreeSWITCH)

介绍 顶顶通呼叫中心中间件如何实现自己呼叫自己并且放音:一步步配置 一、配置acl.conf 打开ccadmin-》点击配置文件并且打开acl.conf-》配置好了点击提交XML。 注意:acl.conf的服务器IP必须是内网IP 添加了之后在运维调试输入reloadacl 在运维调试执…

对象存储, 开源MinIO docker-compose.yml 文件

文章目录 python SDK 文档地址:docker-compose.yml 文件控制台使用:应用服务中使用样例: python SDK 文档地址: https://min.io/docs/minio/linux/developers/python/API.html docker-compose.yml 文件 version: 3services:min…

优化微信小程序更新体验:异步更新与强制更新方案解析

在微信小程序的开发和迭代过程中,新版本覆盖率的问题一直备受关注。由于小程序采用异步更新机制,在用户首次打开或冷启动时才会检查并下载新版本,导致部分用户无法及时应用上最新版本。为了解决这一问题,微信团队经过深入研究和讨…

Prometheus 监控容器

容器监控:cAdvisor Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux/Windows/Mac机器上。容器镜像正成为一个新的标准化软件交付方式。 例如,可以通过以下…

NebulaGraph7 种查询(关键词、向量、混合检索),Graph RAG 探索知识图谱

NebulaGraph7 种查询(关键词、向量、混合检索),Graph RAG 探索知识图谱 1.架构思路 如果你熟悉知识图谱和图数据库 NebulaGraph,可以直接跳到 “RAG 具体实现” 章节。如果你不熟悉 NebulaGraph,请继续往下读。 什么…

INS-06003错误处理

在麒麟V10操作系统上安装Oracle RAC 19C,安装GI的建立互信步骤中,遇到INS-06003错误: [INS-06003] Failed to setup password SSH connectivity with following node(s) 查看详细信息: PRVG-11001: PRCZ-2136: PRCZ-2006: 此时在操…

链动2+1模式:月流水6000万是怎么做到的?

一个好的企业往往只需要最简单的营销方式。当我们面对当今的商业市场,琳琅满目的商业模式,应接不暇的营销方案,我们一定会举足无措的不知道怎么选择。因为一个好的公司或企业,一定要有一个十分经得起推敲的模式来面对消费者。 那么…

基于Java开发的智慧养老管理系统详细设计和实现【附源码】

基于Java开发的智慧养老管理系统详细设计和实现【附源码】 🍅 作者主页 央顺技术团队 🍅 欢迎点赞 👍 收藏 ⭐留言 📝 🍅 文末获取源码联系方式 📝 🍅 查看下方微信号获取联系方式 承接各种定制…

C++系列-第1章顺序结构-9-字符类型char

在线练习: http://noi.openjudge.cn/ https://www.luogu.com.cn/ 总结 本文是C系列博客,主要讲述字符类型char 字符类型char 在C编程语言中,char是一种基本的数据类型,它用于存储单个字符。字符可以是字母、数字、标点符号或者…

人工智能AI绘画Midjourney绘画提示词Prompt大全【宝藏级收藏】

一、AI绘画工具 SparkAi创作系统是基于ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统,支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美,那么如何搭建部署AI创作ChatGPT?小编这里写一个详细图文教程吧。已支…

【EI会议征稿通知】第七届先进电子材料、计算机与软件工程国际学术会议(AEMCSE 2024)

第七届先进电子材料、计算机与软件工程国际学术会议(AEMCSE 2024) 2024 7th International Conference on Advanced Electronic Materials, Computers and Software Engineering 第七届先进电子材料、计算机与软件工程国际学术会议(AEMCSE 2024)将于2024年5月10-1…

dp专题16 完全平方数

本题链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 题目: 思路: 这道题与 前面写的零钱兑换一样的思路,只不过,这里需要我们自己添加物品。 代码详解如下: class Solut…

2024年甘肃省职业院校技能大赛信息安全管理与评估 样题三 模块一

竞赛需要完成三个阶段的任务,分别完成三个模块,总分共计 1000分。三个模块内容和分值分别是: 1.第一阶段:模块一 网络平台搭建与设备安全防护(180 分钟,300 分)。 2.第二阶段:模块二…

「JavaSE」类和对象3

🎇个人主页:Ice_Sugar_7 🎇所属专栏:快来卷Java啦 🎇欢迎点赞收藏加关注哦! 类和对象3 🍉多态🍌重写🍌向上转型&向下转型🍌静态绑定&动态绑定&#x…

[Python] scikit-learn之mean_squared_error函数(Mean Squared Error(MSE))介绍和使用案例

什么是均方误差(MSE)和均方根误差(RMSE)? MSE 是均方误差(Mean Squared Error)的缩写,是一种常用的衡量回归模型预测精度的指标。它表示预测值与真实值之间差异的平方和的平均值,通常用于评估回归模型的性能。 RMSE 是均方根误差(Root Mean Squared Er…
最新文章