GNU RadioUSRP的安装
by DZZ, WDL, 2014.4.29
1. 安装GNU Radio的基本概念和安装尝试
GNU RadioLinux环境中运行的程序,建议的Linux系统是FedoraUbuntu。在Windows OS下可以采取下列形式安装GNU Radio
Windows OS + VMWare(虚拟机)+ LinuxUbuntuFedora+ GNU Radio
因此、要安装GNU Radio,首先需要安装虚拟机,在虚拟机上安装LinuxUbuntuFedora)。
对于GNU Radio本身的安装,建议了三种安装方法:
1)直接安装GNU Radio的可执行文件。也就是说不下载源码和进行源码编译。显然、这种安装适合于仅仅使用GNU Radio提供的模块搭建通信系统。关于的安装建议参见:
/redmine/projects/gnuradio/wiki/InstallingGR
但是,安装尝试表明在Ubuntu下键入下列命令
apt-get install gunradio
并不能进行安装,执行apt-get时显示不到有gnuradio的源。下载源是可以调整的,有待哪位同学研究一下,如何改变相应的文件调整源,再尝试一下。
2)采用安装工具安装。这种情况下,源码下载和编译均由安装工具负责,最重要的是检查packagelibrary的相互依赖关系,对于非专业开发人员和对GNU Radio了解不足的人来说,是比较困难的事,因为GNU Radio包含的文件很多。安装工具完成了这一任务。
对于这种安装,(/redmine/projects/gnuradio/wiki/InstallingGRFromSource)又给出了两种方法:
aUsing PyBOMBS安装。这是GNU Radio正在推进和开发的安装方法。DZZ安装了两次,源码下载成功,也通过了部分编译,但进程过大半后都失败了,出错的原因相同,最后的提示信息如下:
[ 22%] Generating doxygen xml for pmt_swig_doc docs
/bin/sh: 1: DOXYGEN_EXECUTABLE-NOTFOUND: not found
make[2]: *** [gnuradio-runtime/swig/pmt_swig_doc_swig_docs/l] Error 127
make[1]: *** [gnuradio-runtime/swig/CMakeFiles/pmt_swig_swig_doc.dir/all] Error 2
make[1]: *** Waiting for
[ 22%] [ 22%] Building CXX object gnuradio-runtime/lib/pmt/CMakeFiles/gnuradio-pmt.dir/
Building CXX object gnuradio-runtime/lib/pmt/CMakeFiles/gnuradio-pmt.
[ 22%] Building CXX object gnuradio-runtime/lib/pmt/CMakeFiles/gnuradio-pmt.dir/
[ 22%] Building CXX object gnuradio-runtime/lib/pmt/CMakeFiles/gnuradio-pmt.dir/
Linking C shared library libvolk.so
[ 22%] Built target volk
[ 23%] Building CXX object gnuradio-runtime/lib/pmt/CMakeFiles/gnuradio-pmt.dir/
Linking CXX shared library libgnuradio-pmt-3.7.4git.so
[ 23%] Built target gnuradio-pmt
make: *** [all] Error 2
ERROR:root:PyBOMBS Make step failed for package (gnuradio) please see bash output above for a reason (hint: look for the word Error)
失败的原因可能是:(1)对于PyBOMBS不熟悉(没有花时间研读给出的相关资料)。在开始安装时需要输入一些选项,但估计不输入会采用缺省值安装,因此安装过程中基本都是直接回车。有个估计和doxygen有关的ON/OFF选项,两次安装时分别选择的是
OFFON;(2GNU RadioPyBOMBS安装工具尚未成熟。希望有同学根据错误信息作些调研,再尝试一下这种方法。因为该方法是GNU Radio未来的推荐安装方法,并且安装过程中,交互很好,感觉速度也快些。而下面介绍的成功安装方法,其最大的问题是:安装过程中交互性太差,没有进度显示,“一停”就是几个小时,一般安装者都会怀疑安装出问题了。DZZ成功安装之前,曾经启动安装2-3次,每次到等上2-3分钟,一点动静没有,以为“死了”,按ctrl+c退出。(3)也可能是未安装依赖包doxygen
bUsing Marcus Leechbuilding scriptpython虚拟机安装(链接同上)。DZZ先采用了PyBOMBS安装,只是到building阶段出错,需要的packages安装是成功的。因此没有再重新下载所需的packages,所以不是全程在此方法下安装。该方法的最大问题是安装过程显示信息太少,交互性差,但优点是安装全程全自动化。
3)下载源码,自己编译。本方法没有尝试。
2.安装步骤(全新安装成功案例)
1)成功安装案例的环境说明和用时情况(供参考)
DZZ的安装环境:
主机:PC = DELL(4核,CPU主频2.2GHz,最高可达3.2GHz);内存=8GOS=win8.0
虚拟机:VMWare 10.01 build-1379776,虚拟机内存分配=2G;虚拟机内核分配=2核;
虚拟机硬盘分配=30G
Linux操作系统(虚拟机下):Ubuntu 12.04.1
安装用时:5-6小时(网速:360加速球显示在下载文件时多为100K/s左右,WiFi连接)
WDL的安装环境:
(由WDL补充)
2)安装前注意事项和说明
a)关闭主机操作系统和虚拟机操作系统的节能休眠模式(休眠会导致安装停止);
b)安装GNU Radio时会自动安装USRP所需要的文件UHD,同时不需要连接USRP硬件设备。
c)适当熟悉Linux操作系统命令和目录结构,例如 cdcd.ls
dMarcus Leech building script安装方法需要用户以普通用户身份运行安装命令。
3)安装步骤(很简单,过程几乎全自动)
预先安装VMWare(详细步骤参见 XXX.doc
预先安装Linux操作系统(详细步骤参见 XXX.doc
第一步:安装Marcus Leech building script所要求的packages
参照前面apt-get命令的使用格式,使用sudo apt-get install命令安装如下依赖包:
libfftw3-dev
libfontconfig1-dev
libxrender-dev
libpulse-dev
swig
g++
automake
autoconf
libtool
python-dev
libcppunit-dev
libboost1.48-all-dev
libusb-dev
libusb-1.0-0-dev
fort77
libsdl1.2-dev
python-wxgtk2.8
git-core
libqt4-dev
python-numpy
ccache
python-opengl
libgsl0-dev
python-cheetah
python-lxml
doxygen
qt4-dev-tools
libqwt5-qt4-dev
libqwtplot3d-qt4-dev
pyqt4-dev-tools
python-qwt5-qt4
cmake
wget
libxi-dev
python-docutils
gtk2-engines-pixbuf
r-base-dev
python-tk
liborc-0.4-0
liborc-0.4-dev
libasound2-dev
python-gtk2
第二步:在桌面系统左栏点击Home Folder,打开后点鼠标右键,建立一个目录(例如gnuradiosrc,以存放安装的GNU Radio的源码。该安装目录的绝对路径为
/home/zzding61/gnuradiosrc/
其中zzding61是安装Ubuntu时建立的home目录下的子目录,因人而易,gnuradiosrc刚建
立的zzding61下的子目录名
GNU Radio所安装的文件主要存放在两处:系统目录下(待明确)(主要存放GNUpackage, library, 命令等)新建的目录下(主要存放源码和例子)
第三步:键入下列命令,则可以进入安装过程:
$ wget /files/build-gnuradio && chmod a+x ./build-gnuradio && ./build-gnuradio
下面是输入上述命令后,安装过程中的全部屏幕信息(网上的:/2013a/ 1120/21042.htmlDZZ的安装显示信息和这个几乎完全相同)。红字符是安装过程需要输入的内容,只是几个yyes)和密码,蓝字体是DZZ的加注。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。