欢迎光临散文网 会员登陆 & 注册

gnuradio和limesdr的学习笔记(1)——linux下limesdr的gnuradio 3.8版本环境搭建

2021-04-04 22:58 作者:怯默吾声  | 我要投稿

        

        说起sdr大家,稍微有点了解的人首先想到的大概是sdruno的这个界面。

sdruno

        目前类似的sdr软件非常多,最主要的几个功能就是瀑布图,频率带宽调节,和一些解码方式的选择。limesdr在windows下,比较方便的类似软件是HDSDR,直接下载解压,都不需要安装,并把limesdr对应的ExtIO_LimeSDR_1.05.dll驱动文件拷贝到安装目录下,就可以使用啦。

        此外,windows下也提供傻瓜式安装包,安装过程确定到底,没啥可说的,而且就我的使用感觉来说,非常不稳定,所以这里直接略去。想玩gnuradio,一个linux系统还是要装的,无论是处于开发的方便,稳定,还是以后结合嵌入式来说,都是必须的。

        首先说一下几点注意事项,按照官网的说法,limesdr的工具链目前完整支持了16.04,18.04,18.8和一些其他的比较知名的linux发行版,20.04的ubuntu发行不久,相关工具正在开发中。而16.04在20.04版本开始开发后停止支持了。

        我个人建议使用vmware安装ubuntu18.04版本,如果就是用的VMware,那么安装过程中或安装后,一定注意要把USB口改成usb3.0。无论windows下,还是linux下,limesdr都只支持usb3.0,只支持usb3.0,只支持usb3.0,重要的事说三遍。不是用usb3.0更好,而是只能用usb3.0,包括电脑接口,虚拟机设置,和使用的USB转接线。否则,电脑是无法正常发现设备的。如果确实是用虚拟机的话,分配的资源不要太吝啬,CPU内核和内存,尤其是前者不妨多给一点,SDR某些计算的时候还是比较耗费CPU的。

        然后就可以开始换进安装之旅啦。目前网上其他limesdr的各种linux环境搭建方法,包括代理商提供的,大都过时,或者有问题,也有因为墙的原因,很难安装成功,即便勉强能跑通,也容易出一些奇奇怪怪的问题,又或者会安装上一堆没用的其他软件,再就是gunradio安装的是3.7版本的。当然gnuradio似乎也已经出到了3.9版本,但是limesdr的插件暂时还没跟上,后续出来了,按照我同样的思路,也应该很容易修改。

        我的安装思路很简单,全部编译安装。

0,安装limesdr提供的linux驱动和测试软件——LimeSuite.

1,安装gnuradio 3.8版本。

2,安装gnuradio 3.8版的limesdr插件——grlime 3.8版。

这个目前还没有出到3.9版本,所以这是限制我们暂时还不能用gnuradio3.9版本的唯一原因。

0,安装LimeSuite,正常limesdr教程中,到手都会有一个硬件测试,用的就是这个软件。某种程度上是一个limesdr硬件资源的直接控制软件。对于limesdr不熟的人来说,可能也只是做一次测试就丢在一边了,最小安装的情况下,可以不装,不会对gnuradio使用产生什么影响。

git clone https://github.com/myriadrf/LimeSuite.git

cd LimeSuite

git checkout stable

mkdir builddir && cd builddir

cmake ../

make -j4

sudo make install

sudo ldconfig

 在linux下需要下面的额外步骤,打开非root用户usb操作设备权限。

cd ~/LimeSuite/udev-rules

sudo ./install.sh

编译安装gnuradio3.8,比起3.7来说,最明显的优化可能是贝塞尔曲线平滑效果。算法和模块上应该也有一些进步。最新是3.9,可惜limesdr尚未匹配。

sudo apt install git cmake 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

pip3 install git+https://github.com/pyqtgraph/pyqtgraph@develop

pip3 install numpy scipy

echo 'export PYTHONPATH=/usr/local/lib/python3/dist-packages:usr/local/lib/python2.7/site-packages:$PYTHONPATH' >> ~/.bashrc

echo 'export LD_LIBRARY_PATH=/user/local/lib:$LD_LIBRARY_PATH' >> ~/.bashrc

echo 'export PYTHONPATH=/usr/local/lib/python3/dist-packages:usr/local/lib/python2.7/site-packages:$PYTHONPATH' >> ~/.profile

echo 'export LD_LIBRARY_PATH=/user/local/lib:$LD_LIBRARY_PATH' >> ~/.profile

cd ~/

git clone --recursive https://github.com/gnuradio/gnuradio

cd gnuradio

git checkout maint-3.8

mkdir build

cd build

git pull --recurse-submodules=on

git submodule update --init

cmake -DENABLE_GR_UHD=OFF ..

make -j $(nproc --all)

sudo make install

sudo ldconfig


volk_profile

先安装一大堆库,这个gnuradio是匹配python3的。看着复杂,对着复制粘贴一步步来就可以了。如果是安装在树莓派上,最好使用4G内存的版本,如果是2G在编译阶段会因为内存不足非常的卡。如果卡到编译失败了,也没关系,重新执行编译,会接着失败的地方继续来,多来几次就能成功了,但是拿SD卡当临时交换区的速度,非常酸爽,这关过掉后面就好了。4g版不用担心这个。

安装gr-limesdr,也就是gnuradio的limesdr模块。

cd ~

git clone https://github.com/myriadrf/gr-limesdr

cd gr-limesdr

git checkout gr-3.8

mkdir build

cd build

cmake ..

make

sudo make install

sudo ldconfig

大功告成,ubuntu常用版本和树莓派,只此一套教程就OK。

如果没有找到gnuradio的图标,在控制台输入 gnuradio-companion 就可以打开grc的图形界面啦。


gnuradio和limesdr的学习笔记(1)——linux下limesdr的gnuradio 3.8版本环境搭建的评论 (共 条)

分享到微博请遵守国家法律