背景

GNU Radio 3.8.0.0正式版已经发布很久了,git上最新版本都已经3.9了,但在安装3.8时候遇到过不少问题,这里就简单介绍下3.8版本安装流程。

基础环境

系统依旧是Ubuntu 18.04 LTS,可以看《Ubuntu 18.04配置GNURadio基础环境》

安装依赖:

1
apt-get install python-pip python3-pip proxychains4  libproxychains4 git cmake g++ libboost-all-dev libgmp-dev swig python3-numpy python3-mako python3-sphinx python3-lxml doxygen libfftw3-dev libcomedi-dev libsdl1.2-dev libgsl-dev libqwt-qt5-dev libqt5opengl5-dev python3-pyqt5 liblog4cpp5-dev libzmq3-dev python3-yaml python3-click python3-click-plugins

如果是intel集显

1
apt-get install beignet-dev

如果是nvidia独显

1
apt-get install nvidia-opencl-dev

安装GNU Radio

安装pybombs

1
2
3
4
5
6
git clone https://github.com/gnuradio/pybombs.git
cd pybombs
python setup.py install

pybombs recipes add gr-recipes git+https://github.com/gnuradio/gr-recipes.git
pybombs recipes add gr-etcetera git+https://github.com/gnuradio/gr-etcetera.git

配置安装路径

1
pybombs prefix init /usr/local

需要修改一下默认lwr文件

1
vi /root/.pybombs/recipes/gr-recipes/gnuradio.lwr

gitbranch: maint-3.7改为gitbranch: maint-3.8

之后就可以安装GNU Radio了

1
pybombs install gnuradio

如果要支持airspy、hackrf、rtl-sdr、bladerf等等,需要安装gr-osmosdr,但官方还没有对3.8做适配,还需要修改2个lwr文件,否则安装会报错。

修改gr-osmosdr.lwr

1
vi /root/.pybombs/recipes/gr-recipes/gr-osmosdr.lwr

将git地址和版本改为:

1
2
gitbranch: gr3.8
source: https://github.com/igorauad/gr-osmosdr.git

以及gr-iqbal.lwr

1
vi /root/.pybombs/recipes/gr-recipes/gr-iqbal.lwr

同样修改git地址和版本

1
2
gitbranch: gr3.8
source: https://github.com/mvaenskae/gr-iqbal.git

安装gqrx,默认包含gr-osmosdr airspy hackrf soapysdr bladeRF gr-iqbal libosmo-dsp osmo-sdr rtl-sdr,但当前兼容有问题,安装会报错

1
pybombs install gqrx

如果使用limesdr,还需要修改gr-limesdr,当前只有RX可用

1
vi /root/.pybombs/recipes/gr-recipes/gr-limesdr.lwr

gitbranch: master改为gitbranch: develop就可以了

如果使用plutoSDR,需要修改gr-iio,但当前还无法使用

1
vi /root/.pybombs/recipes/gr-recipes/gr-iio.lwr

gitbranch: tags/v0.3改为gitbranch: upgrade-3.8

安装其他组件,gr-fosphor当前还有问题

1
pybombs install airspy airspyhf hackrf soapysdr bladeRF rtl-sdr libiio  limesuite soapysdr gr-limesdr gr-iio gr-fosphor gnss-sdr dump1090

安装完就可以gnuradio-companion命令打开GNU Radio 3.8.0.0了。

新版本的GNU Radio好看很多,抛弃了WX只有QT,代码除了py还有c++,改进了很多,但大体上功能差不多,有兴趣的童鞋可以安装试试。