GNU Radio安装教程
Liunx ubuntu-16.04
Uhd: uhd_3.15.00
Gnuradio: gnuradio-3.7.13.4
板卡 :B210
参考:
https://kb.ettus.com/Building_and_Installing_the_USRP_Open-Source_Toolchain_(UHD_and_GNU_Radio)_on_Linux
https://wiki.gnuradio.org/index.php/UbuntuInstall
一.更新和安装依赖项:
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
重启系统
二.安装UHD
cd $HOME
mkdir workarea
cd workarea
下载UHD源码
下载链接:https://files.ettus.com/binaries/uhd_stable/src/
tar xf uhd_3.15.00
cd uhd_3.15.00
cd host
mkdir build
cd build
cmake ../
make
make test
sudo make installsudo
ldconfig
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
关掉终端,重新打开终端
测试是否安装成功:不需要连接板卡
uhd_find_devices
三.下载UHD FPGA Images
sudo uhd_images_downloader
四.安装gnuradio
cd $HOME
cd workarea
注意注意注意!!!!!!!!!!!!!!!!
由于各种依赖项性问题(尤其是由于Cmake和Python版本),在Ubuntu16.04上构建GNU Radio 3.8x十分困难。没有特别高的技术不要尝试。
下载GNU Radio 3.7x的版本
下载版本后看里面的VOLK文件是否有内容,如果没有内容,找合适的VOLK版本如果不知道哪个版本合适,重新在其他网站下载GNU Radio版本,下载里面带有VOLK的。
因为有的VOLK版本使用于GNU Radio 3.8x,在此环境下使用GNU Radio3.7x/Ubuntu16.04上由于各种依赖项问题会安装不成功
也可以在cmake时将VOLK选项去掉
GNU Radio3.8.x使用Python3版本。如果下载Python3要解决Python3和Python2的兼容问题。Cmake版本使用3.8或更高版本的。
下载源码:
链接:https://github.com/gnuradio/gnuradio/releases/tag/v3.7.14.0
tar xf gnuradio_3.7.13.4
cd gnuradio_3.7.13.4
mkdir build
cd build
cmake ../
make
make test
出现错误:
The following tests FAILED
344 - qa_zeromq_sub(Failed)
Errors while running CTest
Makefile:61: recipe for target ‘test’failed
此错误,主要是zeromq版本低,执行:sudo apt install libzmq3-dev
make clean
make
没有错误不用执行上面安装的指令
sudo make install
sudo ldconfig
运行以下测试,看安装是否成功,可以不用接板卡
gnuradio-config-info --version
gnuradio-config-info --prefix
gnuradio-config-info --enabled-components
运行一个简单的流程图,该流程图不需要任何USRP硬件。这称为拨号音测试,它会在计算机扬声器上产生PSTN拨号音。运行它会验证是否可以找到所有库。
python $HOME/workarea/gnuradio-3.7.13.4/gr-audio/examples/python/dial_tone.py
可以尝试运行
gnuradio-companion
如果gnuradio-companion没有正常运行,
添加环境变量:
export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.7/dist-packages
五.配置USB
仅对于使用USB连接到主机的设备,此板卡B210使用USB接口连接到主机
运行这些命令时,请确保没有通过USB连接USRP设备。
cd $HOME/workarea/uhd/host/utils
sudo cp uhd-usrp.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules
sudo udevadm trigger
六.连接USRP
打开终端,输入lsusb
尝试运行"uhd_find_devices" 和 "uhd_usrp_probe".