提示:使用的是Ubuntu16.04版本的主机。注:写者也是新手,欢迎讨论~
前言
本文主要参考的是官网上的教程,如果不是Ubuntu16.04版本的,建议参考官网,链接如下:
https://kb.ettus.com/Building_and_Installing_the_USRP_Open-Source_Toolchain_(UHD_and_GNU_Radio)_on_Linux
一、安装的版本
uhd选择版本:3.11.1.0
gnuradio选择版本:3.7.11.1
python版本:3.7
二、安装步骤
1.更新并引入相关依赖
代码如下(示例):
sudo apt-get update
sudo apt-get -y install git swig cmake doxygen build-essential libboost-all-dev libtool libusb-1.0-0 libusb-1.0-0-dev libudev-dev libncurses5-dev libfftw3-bin libfftw3-dev libfftw3-doc libcppunit-1.13-0v5 libcppunit-dev libcppunit-doc ncurses-bin cpufrequtils python-numpy python-numpy-doc python-numpy-dbg python-scipy python-docutils qt4-bin-dbg qt4-default qt4-doc libqt4-dev libqt4-dev-bin python-qt4 python-qt4-dbg python-qt4-dev python-qt4-doc python-qt4-doc libqwt6abi1 libfftw3-bin libfftw3-dev libfftw3-doc ncurses-bin libncurses5 libncurses5-dev libncurses5-dbg libfontconfig1-dev libxrender-dev libpulse-dev swig g++ automake autoconf libtool python-dev libfftw3-dev libcppunit-dev libboost-all-dev libusb-dev libusb-1.0-0-dev fort77 libsdl1.2-dev python-wxgtk3.0 git-core libqt4-dev python-numpy ccache python-opengl libgsl-dev python-cheetah python-mako python-lxml doxygen qt4-default qt4-dev-tools libusb-1.0-0-dev libqwt5-qt4-dev libqwtplot3d-qt4-dev pyqt4-dev-tools python-qwt5-qt4 cmake git-core wget libxi-dev gtk2-engines-pixbuf r-base-dev python-tk liborc-0.4-0 liborc-0.4-dev libasound2-dev python-gtk2 libzmq-dev libzmq1 python-requests python-sphinx libcomedi-dev python-zmq python-setuptools
2.安装uhd
(ps:建议从源码安装,选择自己所需要的版本,版本不对后面可能会造成不必要的麻烦)
新建工作目录:
cd $HOME
mkdir workarea
cd workarea
git clone的时候可能会失败,可以多试几次,实在不行再换源
git clone https://github.com/EttusResearch/uhd
cd uhd
执行 git tag -l之后可以找到对应的版本格式,比如我需要的是:v3.11.1.0
git tag -l
git checkout v3.11.1.0
之后是cmake操作:
cd host
mkdir build
cd build
cmake ..
(cmake后官网上有个note,我没管,有需要的话可以自行查看,链接在文章开头)
make
make成功后可以test一下:
make test
没问题的话就可以安装uhd了:
sudo make install
添加路径,注意这里不同版本操作系统命令是不一样的:
export LD_LIBRARY_PATH=/usr/local/lib
到这里执行uhd_find_devices应该就能看到类似于下面的信息:
linux; GNU C++ version 4.8.4; Boost_105400; UHD_003.010.000.HEAD-0-g6e1ac3fc
No UHD Devices Found
随后还需要下载UHD FPGA Images:
sudo uhd_images_downloader
执行成功后,插上usrp设备,尝试下面命令,应该就能找到对应的设备信息了:
uhd_find_devices #有时候需要加上sudo才行
uhd_usrp_probe
3.安装gnuradio,操作和uhd类似
cd $HOME
cd workarea
git clone --recursive https://github.com/gnuradio/gnuradio
cd gnuradio
git tag -l #找到我所需要的版本是v3.7.11
git submodule update --init --recursive
mkdir build
cd build
cmake ../
make
make test
sudo make install
sudo ldconfig
之后通过命令gnuradio-companion检查是否成功:
gnuradio-companion
4.修改python默认版本为3.7
(16.04它自己原本默认的是python2,如果你需要的就是2那就不用改了)
下载3.7版本的python有点麻烦,可以直接下载anaconda
先下载对应版本的sh文件,然后执行下面命令,并一路回车即可:
bash Anaconda3-2021.11-Linux-x86_64.sh
修改默认版本python,可以参考下列教程:
https://blog.youkuaiyun.com/u014775723/article/details/85213793
到这里基本就结束了!!!
总结
这整个过程可能会遇到意想不到的问题,亲测按照官网的教程来基本不会有太大问题。