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的版本支持很低的话,可以使用以下命令来进行安装:

sudo add-apt-repositoryppa:ettusresearch/uhd   

sudo apt-get update    

sudo apt-get install libuhd-dev libuhd003 uhd-host 

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

Github clone源码编译

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

(a)git 代码

git clone https://github.com/EttusResearch/uhd   

cd uhd    

git checkout release_003_010_000_000

// 这里安装的是版本,对于一些系统需要安装的版本不同,这里安装的是3.10.0.0,根据我的经验,3.10.0.0以及3.10.0.2对于OAI、srsLTE、Amarisoft来说,比较稳定。

(b)安装依赖

 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)编译

cd uhd/host/   

mkdir build   

cd build   

cmake ../   

make -j8     //由于编译比较慢,所以选择使用8个”处理器”来提速   

make test   

sudo make install   

sudo ldconfig    //更新动态链接库

(d)镜像下载

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

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

 //查找设备    

sudo uhd_find_devices   

//查看设备信息    

sudo uhd_usrp_probe

(f)ROOT权限

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

cd /usr/local/lib/uhd/utils    

sudo cp uhd-usrp.rules /etc/udev/rules.d/    

sudo udevadm control --reload-rules    

sudo udevadm trigger

注意:当

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

官网源码编译

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

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

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

sudo mkdir /usr/local/share/uhd   

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. centos启动排障

    centos6 启动引导第一阶段破坏 破坏mbr前446字节 先备份 [root@centos6 ~]# dd if=/dev/sda of=/root/mbr bs=1 count=446 破坏 [ ...

  2. 【miscellaneous】单播、广播和多播IP地址

    转自:http://www.cnblogs.com/gaoxing/archive/2012/02/19/2358484.html 除地址类别外,还可根据传输的消息特征将IP地址分为单播.广播或多播. ...

  3. element UI实现动态生成多级表头

    一.效果图 二.封装两个组件,分别为DynamicTable.vue和TableColumn.vue,TableColumn.vue主要是使用递归来对表头进行循环生成 DynamicTable.vue ...

  4. 前端web worker实践与总结

    参考链接:https://www.jianshu.com/p/97f6144dfddf

  5. tcpdump移植和使用

    转载于:http://blog.chinaunix.net/uid-30497107-id-5757540.html?utm_source=tuicool&utm_medium=referra ...

  6. Oracle-DQL 5- 分组函数(多行函数)

    分组函数(多行函数):--针对表中的多行数据进行运算,返回一个结果 1.多行函数 --sum() 求和SELECT SUM(sal) FROM emp; --avg() 求平均值SELECT AVG( ...

  7. 洛谷 P2018 消息传递 题解

    题面 总体来说是一道从下往上的DP+贪心: 设f[i]表示将消息传给i,i的子树全部接收到所能消耗的最小时间: 那么对于i的所有亲儿子节点j,我们会贪心地先给f[j]大的人传递,然后次大..... 可 ...

  8. python函数篇0-1

    创建类和对象 面向对象编程是一种编程方式,此编程方式的落地需要使用 “类” 和 “对象” 来实现,所以,面向对象编程其实就是对 “类” 和 “对象” 的使用. 类就是一个模板,模板里可以包含多个函数, ...

  9. Jmeter之HTTP配置元件

    前言:在测试一个项目中,HTTP请求的IP.协议和默认编码等大多数情况下都是相同的.线程之间会相互调用/请求Cookie...... 所以,推荐添加这四个配置元件在所有请求之前.(BadBoy录制的脚 ...

  10. Good Triple CodeForces - 1169D (等差子序列)

    大意: 给定01字符串, 求有多少个区间$[l,r]$, 使得存在正整数$x,k$满足$1\le x,k\le n,l\le x<x+2k\le r,s_x=s_{x+k}=s_{x+2k}$. ...