目录
1.软件环境*
本文运行环境是Ubuntu 18.04 + UHD3.14.1 + Gnuradio3.8.2.0.
参考1安装Ubuntu 18.04,参考2安装UHD3.14.1,参考3:安装gnuradio3.8.2
查看版本号
uhd_find_devices
uhd_usrp_probe
gnuradio-config-info -v
注意
- 有Gnuradio3.7系列版本先卸载,语句依次为
cd gnuradio/build/
和sudo make uninstall
- 有需求卸载uhd,语句依次为
cd uhd/host/build/
和sudo make uninstall
- 下载gnuradio安装源码:https://www.gnuradio.org/releases/gnuradio/
- 下载gnuradio依赖库:wiki.gnuradio.org,
- Gnuradio3.8.2.0.安装时先安装依赖库再安装软件,依赖库具体的指令
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
- GNURadio3.8.2.0安装出现环境配置错误ModuleNotFoundError,打开
gedit $HOME/.bashrc
配置环境变量,文档最下方依此输入配置export PYTHONPATH=/usr/local/lib/python3/dist-packages:/usr/local/lib/python3.6/dist-packages:$PYTHONPATH
和export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
,终端输入gnuradio-companion
打开gnuradio软件
2.简介
2.1.OOT模块(Out-Of-Tree Module)
OOT模块是指Gnuradio中并不包含的模块资源,用户根据需求自己定义来制作。编写OOT模块的方法多种,推荐采用gr_modtool工具(安装Gnuradio时默认已安装)。4
2.2.大纲
创建自定义 C++ 模块并在流程图中使用它:
- 使用 gr_modtool 创建新的 C++ 块
- 修改 C++ .h 和 .cc 代码,以便块正常工作
- 修改 YAML 文件,以便可以在 GRC 中读取它
- 在流程图中安装并运行模块
主要指令
1.gr_modtool newmod ootzir
2.cd gr-ootzir/
3.ls
4.gr_modtool add addzir
5.sync
6.cpp
7.xx
8.
9.n
10.n
11.gedit lib/addzir_impl.cc
12.gedit grc/ootzir_addzir.block.yml
13.rm -rf build/
14.mkdir build
15.cd build
16.cmake ..
17.make
18.sudo make install
19.sudo ldconfig
20.gnuradio-companion
注意:前后块名称和代码内容存在不一致,是因为多次调试导致,取合适自己的名字即可
3.内容
3.1.创建gr_modtool目录
打开终端并导航到用于编写软件的相应目录,例如主目录:
cd $HOME
GNU Radio 附带了 gr_modtool,这是一种用于创建树外 (OOT) 模块的软件工具。OOT 模块可以看作是自定义 GNU Radio 模块的集合。使用 gr_modtool 创建名为 customModule 的 OOT 模块:
gr_modtool newmod customModule
创建目录 gr-customModule,其中包含 OOT 模块的所有框架代码,但它还没有任何块。移动到 gr-customModule 目录:
cd gr-customModule