USRP作为软件无线电系统中常用的射频设备,其驱动UHD的安装及稳定运行,是SDR系统稳定的必备条件,该篇博客总结UHD的相关安装方法,主要有三种,分别是apt-get、github clone源码编译以及官网下载源码编码。下面对三种方法进行简单介绍,系统为Ubuntu14.04,其他系统过程基本类似。

apt-get install UHD

Ubuntu系统中,通过apt-get来进行软件的安装,无非是一种快速简单的方法,但是对于UHD的安装,通过以下apt-get install uhd命令进行安装,其UHD的版本无法确定,从而导致一些开源的项目无法使用UHD或者不稳定,因此不建议使用apt-get install来直接安装UHD。

当然,如果SDR项目对UHD的版本支持很低的话,可以使用以下命令来进行安装:

  1. sudo add-apt-repositoryppa:ettusresearch/uhd
  2.  
  3. sudo apt-get update
  4.  
  5. sudo apt-get install libuhd-dev libuhd003 uhd-host

在国内,可能因为需要翻墙的缘故,添加源之后,无法访问到最新的UHD版本,因此还是推荐使用后两种方法。

Github clone源码编译

githubclone源码编译,即从uhd的github上clone源代码,并切换到稳定版本,之后记性源码编译安装,下面详细介绍该过程。

(a)git 代码

  1. git clone https://github.com/EttusResearch/uhd
  2.  
  3. cd uhd
  4.  
  5. git checkout release_003_010_000_000
  6.  
  7. // 这里安装的是版本,对于一些系统需要安装的版本不同,这里安装的是3.10.0.0,根据我的经验,3.10.0.0以及3.10.0.2对于OAI、srsLTE、Amarisoft来说,比较稳定。

(b)安装依赖

  1. sudo apt-get install libboost-all-dev libusb-1.0--dev python-cheetah doxygen python-docutils g++ cmake python-setuptools python-mako

如果在安装的过程中,出现无法安装的包,可以采用其他软件管理工具进行安装,如easyinstall、aptitude等。

(c)编译

  1. cd uhd/host/
  2.  
  3. mkdir build
  4.  
  5. cd build
  6.  
  7. cmake ../
  8.  
  9. make -j8 //由于编译比较慢,所以选择使用8个”处理器”来提速
  10.  
  11. make test
  12.  
  13. sudo make install
  14.  
  15. sudo ldconfig //更新动态链接库

(d)镜像下载

  1. sudo uhd_images_downloader //有时候会很慢,也可以通过手动下载对应版本的镜像,然后放到对应位置即可。

(e)测试:如果以上步骤均完成,则可以将usrp插入电脑,进行测试

  1. //查找设备
  2.  
  3. sudo uhd_find_devices
  4.  
  5. //查看设备信息
  6.  
  7. sudo uhd_usrp_probe

(f)ROOT权限

按照以上安装步骤完成之后,使用的时候,必须sudo才能执行UHD的命令,因此,可以通过设置ROOT权限直接执行UHD命令。

  1. cd /usr/local/lib/uhd/utils
  2.  
  3. sudo cp uhd-usrp.rules /etc/udev/rules.d/
  4.  
  5. sudo udevadm control --reload-rules
  6.  
  7. sudo udevadm trigger

注意:当

  1. cd /usr/local/lib/uhd/utils
    提示没有这个文件或目录时,查看自己的文件放在哪个目录下面了,改成相应的即可。
  2.  
  1.  

官网源码编译

官网下载源码进行编译,即从Ettus官网下载对应的UHD版本以及镜像,然后如上面的步骤进行编译即可。

下载UHD链接为http://files.ettus.com/binaries/uhd_stable/,从里面选择对应的版本即可,下载镜像链接为http://files.ettus.com/binaries/images/,一定要让镜像与UHD的版本对应,否则可能出问题。

需要注意的是通过手动下载镜像后,首先需要将镜像解压,然后拷贝到对应的目录之下,命令如下所示:

  1. sudo mkdir /usr/local/share/uhd
  2.  
  3. sudo cp r uhd-images_003_010_000_000-release/share/uhd/images/usr/local/share/uhd

原文链接:https://blog.csdn.net/jipengwang/article/details/79451729

【SDR】UHD安装教程的更多相关文章

  1. OpenLTE安装教程

    安装需求: USB3 interface Modern multicore CPU (Intel Core i5, Core i7 or equivalent with SSE4.1 SSE4.2 a ...

  2. Linux+apache+mono+asp.net安装教程

    Linux+apache+mono+asp.net安装教程(CentOS上测试的) 一.准备工作: 1.安装linux系统(CentOS,这个就不多讲了) 2.下载所需软件 http-2.4.4.ta ...

  3. Greenplum 源码安装教程 —— 以 CentOS 平台为例

    Greenplum 源码安装教程 作者:Arthur_Qin 禾众 Greenplum 主体以及orca ( 新一代优化器 ) 的代码以可以从 Github 上下载.如果不打算查看代码,想下载编译好的 ...

  4. git 安装教程

    昆,简单说下安装教程1,安装Git2,安装TortoiseGit3,打开第一步安装的git工具GIT BASH

  5. Docker和Docker-compose安装教程以及docker-elk,docker-storm安装教程

    此安装教程仅供我自己安装配置时查看,其他的人不可以偷看!!! 安装Docker 1. Update package information, ensure that APT works with th ...

  6. RHEL 6.3 详细安装教程

    以前刚接触linux时,什么都不懂,为了学习,在电脑上安装双系统(原系统为Win7),吃过不少苦头,在网上搜教程,很多都是语焉不详,导致安装过程中战战兢兢.最近朋友面试运维,面试官有考他对linux安 ...

  7. Android Studio的下载和安装教程(从ADT到AS)

    之前一直使用的是Android development tools(简称ADT),后来说是google对ADT不再提供支持,然后一直在考虑是否把自己电脑换成Android Studio(简称AS),从 ...

  8. mysql快速导出数据库ER图和数据字典(附navicat11安装教程及资源)

    ♣ mysql使用navicat11快速导出数据库ER图 ♣ mysql使用navicat11快速导出数据库数据字典 ♣ navicat11 for mysql (这里是mysql5.7.12)专业版 ...

  9. Smokeping安装教程

    Smokeping安装教程 #Smokeping2.6.8安装教程 #2016.3.6 改编v1.0 #Linux运维技术交流 347163978   环境 CentOS release 6.4 (F ...

随机推荐

  1. 【miscellaneous】多播(组播)原理分析

    为什么要使用多播:        网卡从网络上接收到目标物理地址对应的所有bit位都为1的数据报时,会收到这条消息并将其上传给驱动程序,网卡的这种工作模式称为广播模式,网卡的缺省工作模式包含直接模式和 ...

  2. 23.安装php和echarts进行结合展示图表

    数据展示 http://echarts.baidu.com/index.html 是一个图像展示 可以到官方实例中选择各种图 通过下载例子 新建echartdome.php <!DOCTYPE ...

  3. PAT A1046 Shortest Distance (20 分)

    题目提交一直出现段错误,经过在网上搜索得知是数组溢出,故将数组设置的大一点 AC代码 #include <cstdio> #include <algorithm> #defin ...

  4. 剑指offer6:旋转数组的最小数字

    1. 题目描述 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转.输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素.例如数组{3,4,5,1,2}为{1,2,3,4,5}的一 ...

  5. H. The Nth Item(The 2019 Asia Nanchang First Round Online Programming Contest)

    题意:https://nanti.jisuanke.com/t/41355 给出N1,计算公式:A=F(N)Ni=Ni-1 ^ (A*A),F为类斐波那契需要矩阵快速幂的递推式. 求第k个N. 思路: ...

  6. python 2 和 python 3的区别

    python2和python3区别 ​ python2:源码不统一,源码(功能)重复,维护困难,除法的时候返回来的是小数点,()浮点数 ​ python3:源码统一,源码不重复,除法的时候返回来的是整 ...

  7. 基于keepalived搭建mysql双主高可用

    目录 概述 环境准备 keepalived搭建 mysql搭建 mysql双主搭建 mysql双主高可用搭建 概述 传统(不借助中间件)的数据库主从搭建,如果主节点挂掉了,从节点只能读取无法写入,只能 ...

  8. poj 3320 复习一下尺取法

    尺取法(two point)的思想不难,简单来说就是以下三步: 1.对r point在满足题意的情况下不断向右延伸 2.对l point前移一步 3.  回到1 two point 对连续区间的问题求 ...

  9. asp.net 8 Request,Response,Server

    Request成员: 1.Request.UrlReferrer 获取请求的来源,可以防盗链 Response.Write(Request.Url.ToString());//获取当前请求的URL地址 ...

  10. C#面向对象16 访问修饰符

    C# 访问修饰符 public:公开的公共的 private:私有的,只能在内部类中访问 protected:受保护的,子类可以访问和类的内部 internal:只能在当前项目/程序集中访问.在同一项 ...