本文记录搭建使用 MATLAB 连接 USRP 环境的步骤。
这个博客我写了近一周,遇到了很多坑,matlab 版本换了好多版,从 2019a --> 2023b --> 2021b --> 2021a,所以准备入坑的小伙伴先确定你板卡里面的 USRP 固件是多少,然后再去选择对应版本的 MATLAB 版本,期间我也遇到了烧录新固件后设备成砖的情况,后面找到原因是读卡器坏掉了(这真的是太坑了)导致那天一直想不明白为什么写入到 tf 卡的固件里面分区大小和总数没问题,但是分区里面的数据就很奇怪。
重要提示:我使用 MATLAB 2019a 安装时发现不支持 USRP-N3 系列的软件无线电产品,且当前 USRP 之前烧录的固件版本为 UHD_3.15.0.0-vendor,所以才将 MATLAB 版本升级到 R2021a 版本,2021a、2021b 版本支持 USRP-N320,且对应的固件都是 UHD_3.15.0.0-vendor
但是 2021b 版本会出现下面的报错,去网上找解决问题的方法无果
因此最终将 MATLAB 版本定为 R2021a
MATLAB 要能连接 USRP,需要 MATLAB 的 UHD 版本与 USRP 的固件版本相匹配,而安装 UHD,会在安装路径下有一个与该版本对应的一个 USRP 所用的固件,可以烧写到 USRP 中,使得版本匹配。
LabVIEW | MATLAB | UHD |
---|---|---|
2019 | R2021b | UHD_3.15.0.0-vendor |
2020 | R2022b | UHD_4.1.0.4-vendor |
R2023b | UHD_4.2.0.0-vendor |
GNU Radio Companion 是一个用来产生信号流程图及流程图源代码的图形化工具,这步大家可选择性进行安装,不是必须项,可跳过此步骤直接到 3、确定 USRP UHD 版本
下面是下载 GNU Radio Companion 的步骤
进入网址:https://wiki.gnuradio.org/index.php?title=InstallingGR,点击 Windows Radioconda installer
下载完毕后,双击该文件进行安装,一路默认,直至安装成功。安装成功后,在 window 开始菜单中会显示下述图标。
2)安装 USRP 硬件驱动程序,我安装在了 D:\UHD 目录下,安装后如下图所示:
打开终端,敲击 uhd_find_devices
查找设备(记得要将 USRP 通过网线连接到你的电脑网口)
添加环境变量
再次敲击 uhd_find_devices
查找设备
可以看到 UHD 版本为 3.15,且可以找到当前所连接的 USRP。
getSDRuDriverVersion()
可以看到 MATLAB 的 UHD 版本也是 3.15
在 MathWorks 下载通信工具箱提供的 USRP 支持:https://www.mathworks.com/hardware-support/usrp.html
点击 Get support package 进行下载
1、在 MATLAB 中打开刚刚下载的文件
2、弹出如下窗口,点击我接受
3、弹出如下窗口,点击下一步进行下载 UHD 固件和 FPGA 镜像以及 UHD 预编译库
MATLAB 2021a ---->21.1.3
4、可以看到下载和安装进度,等待下载和安装成功
5、安装完毕后,点击立即设置
立即设置后面的工作是给 USRP 烧录固件,如果不需要烧录固件,可以选择稍后设置。
后面烧录固件的就按照提示做就可以,这里跳过了步骤。
6、打开 matlab 终端,输入 findsdru 查找设备
成功找到设备。
我的qq:2442391036,欢迎交流!