ubuntu12.04下安装UHD和gnuradio

来源:互联网 发布:nginx反向代理 缓存 编辑:程序博客网 时间:2024/05/16 01:49

        软件的安装主要分为两部分:gnuradio和UHD(usrp hardware driver)。软件安装比较复杂,不容易安装配置成功。其主要原因是因为gnuradio安装前需要预装很多工具包和依赖,而这些工具包的安装方法和版本根据操作系统版本的不同也不相同。gnuradio和UHD的安装本身也有几种不同的安装方法。后文会对不同安装方法做简要介绍,对本文采取的基于ubuntu12.04的安装做详细介绍。需要强调的是gnuradio和UHD的官方网站对软件的安装和使用有详细介绍,也是最权威的参考。只是阅读起来会比较繁琐,逻辑链条分叉较多。最好将安装部分和它提供的子链接及子子链接先完整阅读一遍,整体上做到心中有数(当然,您要是大牛这个文档也没必要看的)。

        参考,gnuradio官网:http://gnuradio.org/redmine/projects/gnuradio/wiki。
                    UHD官网:http://code.ettus.com/redmine/ettus/projects/uhd/wiki。

         gnuradio的安装主要有三种方式。第一种是通过标准软件库中的gnuradio包。这种方法安装速度很快。但由于gnuradio更新很快,库中的安装包一般是比较老的版本。而且也存在与本机环境不兼容的问题。参见,http://gnuradio.org/redmine/projects/gnuradio/wiki/InstallingGR。 第二种通过build-gnuradio脚本文件,它是通过源文件进行安装。此脚本文件可以将UHD和gnuradio同时安装,基本不需要用户做任何操作。脚本默认通过fetch的方式获取源码包。而且脚本对各种系统和版本都兼容,从网上的反馈来看有很高的成功率(基本都是国外的)。参见,http://gnuradio.org/redmine/projects/gnuradio/wiki/InstallingGRFromSource。但是比较遗憾,作者亲测的结果是ubuntu12.04 和14.04 下安装都失败,fetch不成功(谁让咱在天朝)!有一种方法是通过no-fetch的方式,修改脚本文件手动下载源码包,再进行build。 实际效果未测试。参见,http://www.docin.com/p-877952376.html。第三种就是本文采用的方法(最笨,也是亲测唯一有效的方法),在安装gnuradio之前必须首先安装UHD。因为gnuradio安装过程有涉及对UHD的操作。参见,http://gnuradio.org/redmine/projects/gnuradio/wiki/BinaryPackages。

一、      安装UHD

        UHD的安装也有两种方法。一种是通过安装程序进行安装,无需编译,实测成功。而且此方法对ubuntu12.04以上版本均有效;另一种是通过源码包的方式编译安装,也实测成功。建议采用第一种。参见,http://code.ettus.com/redmine/ettus/projects/uhd/wiki。
        通过安装程序安装:
        

        选择安装发型版,在终端输入:

         sudo bash -c 'echo "deb http://files.ettus.com/binaries/uhd_stable/repo/uhd/ubuntu/`lsb_release -cs` `lsb_release -cs` main" > /etc/apt/sources.list.d/ettus.list'

         sudo apt-get update

         sudo apt-get install -t `lsb_release -cs` uhd


         通过源码包安装:
         

         首先安装依赖,终端输入:

         sudo apt-get install python libboost-all-dev libusb-1.0-0-dev python-cheetah doxygen python-docutils


         获取源码包:http://code.ettus.com/redmine/ettus/projects/uhd/wiki/UHD_Linux。或者 终端输入:git clone git://github.com/EttusResearch/uhd.git

         编译:

         cd <uhd-repo-path>/host
         mkdir build
         cd build
         cmake ../

         安装:

         make

         make test
         sudo make install
         配置环境变量,确保libuhd.so(build文件夹下)在你的LD_LIBRARY_PATH, 或者将它添加到 /etc/ld.so.conf(可以直接将libuhd.so文件复制到/lib/),然后运行:

         sudo ldconfig

         环境变量配置完成后,注销重新登录生效。或者运行“source ~/.profile”立即生效(仅在当前shell下)。参见,        

         http://code.ettus.com/redmine/ettus/projects/uhd/wiki/UHD_Build,http://files.ettus.com/manual/page_build_guide.html。

         连接usrp设备(usrp默认ip是192.168.10.2,将本机ip与usrp 设在同一网段)。终端输入: uhd_usrp_probe

         若返回设备信息,如下图 1,则说明UHD已经正确安装。


    

                                                           图 1. usrp返回信息         

二、安装gnuradio

              
        gnuradio安装需要预先安装很多库和工具,所以首先要安装依赖:

        sudo apt-get -y install git-core autoconf automake  libtool g++ python-dev swig \
        pkg-config libboost1.48-all-dev libfftw3-dev libcppunit-dev libgsl0-dev \
        libusb-dev sdcc libsdl1.2-dev python-wxgtk2.8 python-numpy \
        python-cheetah python-lxml doxygen python-qt4 python-qwt5-qt4 libxi-dev \
        libqt4-opengl-dev libqwt5-qt4-dev libfontconfig1-dev libxrender-dev

        安装gnuradio:

        git clone http://gnuradio.org/git/gnuradio.git

        编译、安装:

        cd gnuradio
        mkdir build

        cd build
        cmake ../
        make
        make test
        sudo make install
 
        配置环境变量:

        export  PYTHONPATH=$PYTHONPATH:/usr/lib/python2.7/dist-packages

        export  LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/bin

        参见:http://gnuradio.org/redmine/projects/gnuradio/wiki/UbuntuInstall,http://gnuradio.org/redmine/projects/gnuradio/wiki/BinaryPackages。

        执行/usr/local/share/gnuradio/examples/audio/dial_tone.py。dial_tone.py文件是将信号输入声卡左右声道中,从耳机中听到嗡鸣声;或者执行“gnuradio-companion”弹出对话框,证明gnuradio安装成功。 

        


0 0
原创粉丝点击