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. python程序开子进程打包成exe文件运行炸内存原因剖析

    首先给出伪代码 from multiprocessing import Process def task(): print("hahaha") pass if __name__ = ...

  2. struts框架之环境搭建(一)

    一.首先,我们需要做一些准备工作: 1.1.  下载struts:https://struts.apache.org/download.cgi#struts2520 1.2.  下载tomcat:ht ...

  3. COleVariant功能

    COLeVariant是数据库常用到的数据类型.它可以是字符串,整型值,日期等.知道怎样将它转换为CString. COLeVariant类是对VARIANT结构的封装.它的构造函数具有极为强大的功能 ...

  4. Swoft2.x 小白学习笔记 (一) ---控制器

    Swoft通过官方文档进行学习,这里不做介绍,直接上手. 涉及到Swoft方面:(配置.注意的坑) 1.控制器(路由.验证器.中间件) 2.mysql  (Model使用).Redis配置及通用池 3 ...

  5. django 中 null=True 和 blank=True的区别!

    null 是针对数据库而言,如果 null=True, 表示数据库的该字段可以为空,即在Null字段显示为YES. blank 是针对表单的,如果 blank=True,表示你的前端表单填写该字段的时 ...

  6. T100——P处理程序显示进度明细

    IF g_bgjob <> "Y" THEN          #更新交易對像信用餘額檔:          LET ls_value = cl_getmsg('axm ...

  7. vue配置外放generate-asset-webpack-plugin

    解决方法:(共有2个方法) 1.借助插件  generate-asset-webpack-plugin .在webpack.prod.conf.js中去生成configServer.json文件,让其 ...

  8. Jmeter之TCP取样器(模拟数据上报压测)

    TCP压测 场景:模拟硬件设备上报数据(登录,心跳,GPS定位数据/光感数据/电量数据),对这个功能进行压测 啰嗦一句:TCP压测很简单,只要调通了一个TCP,后续的逻辑判断就用逻辑控制器和正则处理就 ...

  9. Hello World!!!

    C #include <stdio.h> int main() #main 入口函数 { printf("Hello,World!"); #printf 函数打印 ; ...

  10. Java EE javax.servlet中的ServletContext接口

    ServletContext接口 public interface ServletContext (https://docs.oracle.com/javaee/7/api/javax/servlet ...