前言
本教程适用于在 Linux 上搭建 USRP 的基本工具链路,需要安装 UHD(USRP Hardware Driver,即USRP硬件驱动程序)和 GNU Radio(一个免费的软件开发工具包,提供信号处理模块来实现软件无线电) 。
本教程使用包管理器快速安装,能够满足大部分实验和应用需求,建议初学者使用这种方法。
如果是想要进行深度开发,并且有特殊的自定义要求,参考以下两个链接从源代码构建和安装:
GNU Radio + NI USRP B210模拟物理层(一):安装UHD与GNU Radio_ubuntu b210-优快云博客
此外,本教程分为两部分,第一部分是常规的安装流程,第二部分是针对我自己买的这块板子的安装流程(因为我的这块板子在安装时需要替换一个文件,按照网上的教程是无法正常安装的)。 如果按照第一部分的常规安装流程能够成功安装并正常使用的话,就不用看第二部分,如果不成功,可以参考下第二部分。
我的环境
操作系统:Ubantu 22.04.5 LTS 物理机(虚拟机也可以)
USRP 型号:USRP B220 mini
PS:也适用于Ubantu 20.04 系统;Ubantu 18.04 系统可以尝试一下。
安装 UHD
1 常规安装流程
在 ubantu 中打开终端(Ctrl+Alt+T),首先更新软件包列表:
sudo apt update
安装 UHD 软件包:
sudo apt-get install libuhd-dev uhd-host
libuhd-dev
是开发包,包含头文件、静态库和编译UHD应用程序所需的开发工具。uhd-host
是运行时包,包含UHD工具和运行时库。
安装 UHD 固件(下载 UHD FPGA 镜像):
sudo uhd_images_downloader
将 USRP 设备插入电脑(如果是USB连接,需要USB3.0),验证 UHD 是否成功安装:
uhd_find_devices
如果成功运行,说明系统可以正确识别到 USRP 设备:
验证 USRP 设备能否正常使用:
uhd_usrp_probe
如果成功运行,说明 UHD 固件没有问题,板子可以正常使用,直接跳到 GNU Radio的安装:
但如果出现以下错误 `fx3 is in state 5`,可以参考第二部分我的安装流程:
2 我的安装流程
首先确保 `sudo uhd_images_downloader` 及之前的命令都已经正确执行完。
出现上图所示的错误表明 FPGA 配置文件有问题,需要更新相应的配置文件(配置文件在文末自取)。
方法一:用新的 bin 文件替换掉无法加载的 bin 文件
可以看到问题出在镜像文件 usrp_b210_fpga.bin 上,所以用提供的新文件 libresdr_b210.bin 来替换掉这个无法加载的镜像文件即可。
首先将 libresdr_b210.bin 文件复制到 usrp_b210_fpga.bin 文件所在的目录中 “/usrp/share/uhd/images/”,然后将 usrp_b210_fpga.bin 文件删掉,将 libresdr_b210.bin 文件重命名为 usrp_b210_fpga.bin,文件就替换成功了。
方法二:使用脚本文件进行更新
将提供的 patch 文件夹拷贝到任意目录下,我这里拷贝到了主目录下,在终端中可以看到:
进入 patch 文件夹:
cd patch
chmod +x patch.sh
用 sudo 权限运行 chmod +x patch.sh:
sudo chmod +x patch.sh
这个地方权限不够不知道是为什么,但是不影响。
验证 UHD 是否成功安装且板子是否可以正常使用:
uhd_find_devices
uhd_usrp_probe
安装 GNU Radio
在终端中继续执行命令:
sudo apt install gnuradio
测试
需要测试 GNU Radio 是否可以和 USRP 设备正常搭配使用:
uhd_fft -f 2450M
如果弹出下面的窗口,就大功告成了:
还可以在 GNU Radio 里面测试,参考USRP零基础入门1. 安装gnuradio与uhd_哔哩哔哩_bilibili最后的测试部分。
文中所用配置文件:https://pan.baidu.com/s/1Kd5EALa39VCP6jF_qAHeDw?pwd=6kqe 提取码: 6kqe