Ubuntu20.04LTS+uhd3.15+gnuradio3.8.1源码编译及安装

文章目录

  • 前言
  • 一、卸载本地 gnuradio
  • 二、安装 UHD 驱动
  • 三、编译及安装 gnuradio
  • 四、验证


前言

本地 Ubuntu 环境的 gnuradio 是按照官方指导使用 ppa 的方式安装 uhd 和 gnuradio 的,也是最方便的方法,但是存在着一个问题,就是我无法修改底层 C++ 实现代码并修改自己想要的功能,我现在的需求就是对部分 block 的底层代码进行修改,因此需要源码编译及安装,并在每次修改完相关文件后重新对源码进行编译再安装即可。


一、卸载本地 gnuradio

1、更新包列表

sudo apt-get update	

2、卸载GNU Radio

sudo apt-get remove gnuradio

3、删除所有相关的配置文件

sudo apt-get remove --purge gnuradio

4、清除不再需要的依赖项

sudo apt-get autoremove

二、安装 UHD 驱动

因为我目前不需要修改 UHD 的底层 C++ 代码,且 Ubuntu 中已有 UHD3.15 的驱动(之前按照官方指导使用 ppa 的方式安装的),因此这里就无需卸载和用源码编译安装了,因此跳过此步。

通过下面命令来检查 UHD 是否安装成功

1、列出计算机上可识别的 USRP 设备

uhd_find_devices

输出如下:
在这里插入图片描述
2、获取连接到计算机的 USRP 设备的更详细信息

uhd_usrp_probe

部分信息如下:
在这里插入图片描述

三、编译及安装 gnuradio

在终端依次输入下面命令:

cd $HOME
mkdir workarea
git clone --recursive https://github.com/gnuradio/gnuradio.gitcd gnuradio
git clone https://github.com/gnuradio/volk.gitgit checkout maint-3.8
cd volkgit checkout v2.2.1
cd ..
mkdir build
cd buildcmake -DCMAKE_BUILD_TYPE=Release -DPYTHON_EXECUTABLE=/usr/bin/python3 ../make -j4 
make test
sudo make install
sudo ldconfig#添加环境变量
vi ~/.bashrc
#将下面这两句话添加到.bashrc的最后一行,注意按照自己的python版本修改,我的是3.8所以下面是/python3.8/
export PYTHONPATH=/usr/local/lib/python3/dist-packages:/usr/local/lib/python3.8/dist-packages:$PYTHONPATH
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH  #更新环境变量
source ~/.bashrc

四、验证

1、打开 gnuradio

gnuradio-companion

可以看到下面界面
在这里插入图片描述

如果打开出现 No module named gnuradio,尝试 reboot 重启一下

2、接上 USRP 进行自收自发测试,可以看到 OFDM 频谱图如下:
在这里插入图片描述

参考:Ubuntu20.04安装UHD3.15+GNURadio3.8


我的qq:2442391036,欢迎交流!


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

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

相关文章

docker环境配置过程中的常见问题

1、pull镜像问题 docker pull jenkins/jenkins:lts Using default tag: latest Trying to pull repository docker.io/library/centos ... Get https://registry-1.docker.io/v2/library/centos/manifests/latest: Get https://auth.docker.io/token?scoperepository%3Alibr…

软考101-上午题-【信息安全】-网络安全

一、网络安全 1-1、安全协议 SSL(Secure Socket Layer,安全套接层)是 Netscape 于 1994年开发的传输层安全协议,用于实现 Web 安全通信。1996 年发布的 SSL3.0 协议草案已经成为一个事实上的Web 安全标准。 端口号是43。 SSL HTTP HTTPS TLS(Transpo…

vlan间单臂路由

【项目实践4】 --vlan间单臂路由 一、实验背景 实验的目的是在一个有限的网络环境中实现VLAN间的通信。网络环境包括两个交换机和一个路由器,交换机之间通过Trunk链路相连,路由器则连接到这两个交换机的Trunk端口上。 二、案例分析 在网络工程中&#…

Springboot+MybatisPlus+EasyExcel实现文件导入数据

记录一下写Excel文件导入数据所经历的问题。 springboot提供的文件处理MultipartFile有关方法,我没有具体看文档,但目测比较复杂, 遂了解学习了一下别的文件上传方法,本文第1节记录的是springboot原始的导入文件方法写法&#xf…

【Linux】体验一款开源的Linux服务器运维管理工具

今天为大家介绍一款开源的 Linux 服务器运维管理工具 - 1panel。 一、安装 根据官方那个提供的在线文档,这款工具的安装需要执行在线安装, # Redhat / CentOScurl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start…

科普:从神经网络到 Hugging Face——神经网络和深度学习简史

活中没有什么可怕的东西,只有需要理解的东西。—— 居里夫人 深度信念网络 2006年,加拿大多伦多大学教授杰弗里辛顿在研究如何训练多层神经网络,他已经在神经网络领域默默耕耘了三十多年,尽管在这个领域他算得上是泰斗级的人物&…

unity3d for web

时光噶然 一晃好多年过去了(干了5年的u3d游戏),记得最后一次使用的版本好像是 unity 2017。 那个是 unity3d for webgl 还需要装个插件。用起来很蛋疼。 最近做一个小项目 在选择是用 Layabox 还是 cocosCreate 的时候 我想起了老战友 Uni…

阿里云魔搭发起“ModelScope-Sora开源计划”,将为中国类Sora模型开发提供一站式工具链

在2024年3月23日的全球开发者先锋大会上,阿里云的魔搭社区宣布了一个新计划:“ModelScope-Sora开源计划”。这个计划旨在通过开源方式,帮助中国在Sora模型类型上做出更多创新。这个计划提供了一整套工具,包括处理数据的工具、多模…

JUC:synchronized优化——锁的升级过程(偏向锁->轻量级锁->重量级锁)以及内部实现原理

文章目录 锁的类型轻量级锁重量级锁自旋优化偏向锁偏向锁的细节偏向锁的撤销批量重偏向批量撤销锁消除 锁的类型 重量级锁、轻量级锁、偏向锁。 加锁过程:偏向->轻量级->重量级 轻量级锁 轻量级锁的使用场景:如果一个对象虽然有多线程要加锁&am…

数据结构与算法(2)顺序表的初始化、插入、打印、删除、查找元素——C语言版

目录 1.前言 2.头文件的定义 3.菜单栏的设置 4.顺序表的初始化 5.添加元素 6.打印元素 7.查找元素 8.删除元素 9.插入元素 10.主函数 11.完整的代码实现 1.前言 数据结构包括三个方面 逻辑结构存储结构运算 而线性表有两种典型的存储结构 顺序存储结构链式存储结构 具体关系可…

提取gdip-yolo与ia-seg中的图像自适应模块进行图像去雾与亮度增强

gdip-yolo与ia-seg都是一种将图像自适应模块插入模型前面,从而提升模型在特定数据下检测能力的网络结构。gdip-yolo提出了gdip模块,可以应用到大雾数据与低亮度数据(夜晚环境),然后用于目标检测训练;ia-seg将ia-yolo中的代码修改了一下修车了ipam模块,应用到低亮度数据(…

在线随机密码生成器源码

纯HTML,该去的已去掉,该简化的简化,最高支持32位混合随机密码生成。 源码下载:在线随机密码生成器源码