GNU Radio

系统环境:Ubuntu 18.04

一、安装
1、依赖库安装
(此代码仅适用于Ubuntu18.04,其他版本需要的依赖包会有所不同)

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.14-0 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 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 libqwtplot3d-qt5-dev pyqt4-dev-tools python-qwt5-qt4 cmake git wget libxi-dev gtk2-engines-pixbuf r-base-dev python-tk liborc-0.4-0 liborc-0.4-dev libasound2-dev python-gtk2 libzmq3-dev libzmq5 python-requests python-sphinx libcomedi-dev python-zmq libqwt-dev libqwt6abi1 python-six libgps-dev libgps23 gpsd gpsd-clients python-gps python-setuptools libboost-all-dev libusb-1.0-0-dev doxygen python3-docutils python3-mako python3-numpy python3-requests python3-ruamel.yaml python3-setuptools cmake build-essential g++ libboost-all-dev libgmp-dev swig python3-numpy python3-mako python3-sphinx python3-lxml doxygen libfftw3-dev libsdl1.2-dev libgsl-dev libqwt-qt5-dev libqt5opengl5-dev python3-pyqt5 liblog4cpp5-dev libzmq3-dev python3-yaml python3-click python3-click-plugins python3-zmq python3-scipy python3-pip python3-gi-cairo

可以再run一下:

sudo apt-get update
sudo apt-get upgrade

直接上key point吧,安装UHD和GNURadio前后都可以设置环境变量,但一定要设置,不然可能打不开。
注意文件目录
代码如下:

gedit $HOME/.bashrc
//在文件最下方加上下面两条# add the line below to the end of ./bashrc file:
export PYTHONPATH=/usr/local/lib/python3/dist-packages:/usr/local/lib/python3.6/dist-packages:$PYTHONPATH
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

复制粘贴就好
2、下载UHD源文件
选择你想要安装的目录(直接安装也行,推荐在Home下新建一个文件夹),相应的代码如下:

cd $HOME

下载UHD包:

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

(若提示git未安装,按照提示给出的指令安装即可。)
下载完成后进入UHD包开始安装UHD:

cd uhd
git checkout release v        #按Tab键,显示出已有的release版本
git checkout v4.0.0.0       #**按需选择需要的版本**,不推荐很低的版本,也不推荐最最新的版本

然后逐步执行下面的命令:

cd host
mkdir build
cd build
cmake ../
//检查是否有报错,报错一般为缺失依赖库或者相关路径不对,无误后继续执行下面的命令
make
make test
sudo make install
sudo ldconfig

都没有什么问题的话UHD就算是安装成功了。
3、安装images

sudo uhd_images_downloader//比较考验网速

下载完成(失败中断后重新运行一下命令就可以了)后,可以在终端下使用:

sudo uhd_find_devices

看到我们需要“玩”起来的USRP-LW 设备的相关信息,Bus系列(B205、B210)可直接通过USB3.0找到设备,X系列、N系列使用网口的设备需要设置IP才能识别到。
4、安装GNU Radio
与安装UHD操作类似,逐条命令进行操作:

cd $home
git clone https://github.com/gnuradio/gnuradio.git      //考验网速了,大哥买VPN当我没说
cd gnuradio/ 
git checkout v3.7.13.5
#同样的,你可以输入git checkout v 后按Tab键进行查看现在有的版本进行选择
mkdir build 
cd build 
cmake ../ 
//检查是否有报错,报错一般为缺失依赖库或者相关路径不对,无误后继续执行下面的命令
make
make test 
sudo make install 
sudo ldconfig

若无误安装到这里(给大哥鼓掌!!),则GNU Radio安装完成,下一步就是使用USRP-LW 设备动起来!
运行gnuradio,使用命令:

sudo gnuradio-companion

5、一天一个小技巧
为了方便使用GNU Radio(直接在终端敲gnuradio-companion就可以打开GNU Radio)

sudo cp -r  /usr/local/lib/python3/dist-packages/gnuradio /usr/lib/python3/dist-packages
sudo cp -r  /usr/local/lib/python3/dist-packages/pmt /usr/lib/python3/dist-packages
sudo cp -r  /usr/local/lib/python3/dist-packages/uhd /usr/lib/python3/dist-packages
sudo cp -r  /usr/local/lib/python3/dist-packages/volk_modtool /usr/lib/python3/dist-packages

6、另一个小技巧
网速不好,UHD和GNU Radio下载不成功的(大哥不行了啊)看这里
直接下载好自己需要的UHD和GNU Radio版本:
下载地址(参考):

UHD:http://files.ettus.com/binaries/uhd_stable/
GNU Radio:https://www.gnuradio.org/releases/gnuradio/

注意啊,直接下载可以,但要先卸载前面下载的UHD、GNU Radio,不然可能路径会出错,大哥头会痛!
7、怎么卸载?
对于使用旧版UHD和GNURadio想更新到新版本,需要先卸载GNURadio和UHD

  1. 卸载gnuradio, 进入到GNU Radio 的build文件夹下:
cd gnuradio/build/
sudo make uninstall
  1. 卸载UHD,进入到uhd的host目录下的build文件夹中:
cd uhd/host/build/ 
sudo make uninstall

8、下个小技巧下次说,下次是什么时候