GNU Radio + NI USRP B210模拟物理层(一):安装UHD与GNU Radio

GNU Radio + NI USRP B210模拟物理层(一):GNU Radio的环境搭建

一 环境搭建

1 硬件环境与版本选择

我有两台设备:

  • 一台是实验室的机器,搭载的是intel core i9-9900k,核显,装了Ubuntu18.04

  • 一台是R7000,搭载的是4800H,1650Ti,装了Ubuntu20.04.3

总的来说,GNU Radio在Ubuntu20.04上的支持好很多,我会找时间把实验室的系统重新装掉

但这里也会把一些遇到的问题记录下来

2 UHD安装

UHD本质就是USRP的FPGA的固件,相当于驱动,有了他GNU Radio才能驱动USRP。

  1. 第一步,更新一下源
sudo apt-get update

sudo apt-get upgrade
  1. 依赖

这里仅列出Ubuntu18.04

sudo apt-get -y install git swig cmake doxygen build-essential libboost-all-dev libtool libusb-1.0-0 libusb-1.0-0-dev libudev-dev libncurses5-dev libfftw3-bin libfftw3-dev libfftw3-doc libcppunit-1.14-0 libcppunit-dev libcppunit-doc ncurses-bin cpufrequtils python-numpy python-numpy-doc python-numpy-dbg python-scipy python-docutils qt4-bin-dbg qt4-default qt4-doc libqt4-dev libqt4-dev-bin python-qt4 python-qt4-dbg python-qt4-dev python-qt4-doc python-qt4-doc libqwt6abi1 libfftw3-bin libfftw3-dev libfftw3-doc ncurses-bin libncurses5 libncurses5-dev libncurses5-dbg libfontconfig1-dev libxrender-dev libpulse-dev swig g++ automake autoconf libtool python-dev libfftw3-dev libcppunit-dev libboost-all-dev libusb-dev libusb-1.0-0-dev fort77 libsdl1.2-dev python-wxgtk3.0 git libqt4-dev python-numpy ccache python-opengl libgsl-dev python-cheetah python-mako python-lxml doxygen qt4-default qt4-dev-tools libusb-1.0-0-dev libqwtplot3d-qt5-dev pyqt4-dev-tools python-qwt5-qt4 cmake git wget libxi-dev gtk2-engines-pixbuf r-base-dev python-tk liborc-0.4-0 liborc-0.4-dev libasound2-dev python-gtk2 libzmq3-dev libzmq5 python-requests python-sphinx libcomedi-dev python-zmq libqwt-dev libqwt6abi1 python-six libgps-dev libgps23 gpsd gpsd-clients python-gps python-setuptools
  1. 下载和源码编译
cd $HOME
mkdir workarea-uhd
cd workarea-uhd
git clone https://github.com/EttusResearch/uhd
cd uhd
git checkout release v 
#按Tab键,显示出已有的release版本, 这里主要3.11之后是v开头,3.11之前则是release__003__xxx的格式,注意区分
git checkout v3.14.1.1 
# 选择版本,Ubuntu20可以无脑最新,18则只能3.11或者更老

#以下代码一步一步执行
cd host

mkdir build

cd build

cmake ../

make

make test

sudo make install

sudo ldconfig
  1. 下载和安装
sudo uhd_images_downloader
uhd_find_devices
# 如果找到了设备就是成功安装了

3 GNU Radio 安装

二进制文件安装

网上有很多源码编译的,目前大可不必,GNU Radio的官方文档也建议二进制文件安装

这里时常会发生变化我就不班门弄斧了

https://wiki.gnuradio.org/index.php/InstallingGR

基本上就是一句话

sudp apt install gnuradio

就完事了,但是Ubuntu20.04源中自动下载的是3.9版本对新版本UHD支持比较好

而Ubuntu18.04中下载的是GNU Radio3.8,对UHD的支持就很烂了

除了版本老外,读取UHD的位置也不对

这里在CSDN上找到了解决办法

https://blog.csdn.net/qq_23958451/article/details/102959193

sudo cp -r /usr/local/share/uhd/images /usr/share/uhd

比较暴力的一个方法,不知道它是如何找到他到底读取的是哪里的,如果找到配置文件也可以修改配置文件来解决

源码安装(更推荐

因为只有源码编译安装才能修改模块,添加OOT模块,二进制文件是无法修改的。所以最终还是要回到源码安装上
大致上来说,按照gnu radio官方教程即可

https://wiki.gnuradio.org/index.php/InstallingGR#From_Source

注意volk一定要先安装!!,然后安装依赖,否则会报错

4 测试

网上如此多的安装教程,居然没有一个验证测试成功的方法

因为GNU Radio是可以在纯软件环境下运行的,并不一定需要USRP,所以装好后正常能打开并不代表成功,而需要和USRP搭配使用才表明成功

为了这个验证才有了后面FM reciver的搭建,不过事实上不用这么麻烦

只需要一行代码就可以了

uhd_fft -f $freq

这里的freq我选取的是2.45G

如果你看到了频谱图,那么恭喜你成功了!

1

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值