使用MATLAB连接USRP

文章目录

  • 前言
  • 一、本地环境
  • 二、前期准备
    • 1、MATLAB版本、labview版本、UHD 版本对应关系
    • 2、下载 GNU Radio Companion
    • 3、确定 USRP UHD 版本
      • ①、下载一个 USRP 硬件驱动程序
      • ②、确认 MATLAB 的 UHD 版本
  • 三、下载 USRP 通信工具箱支持包
  • 四、使用 MATLAB 连接 USRP


前言

本文记录搭建使用 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连接USRP_第1张图片
因此最终将 MATLAB 版本定为 R2021a


一、本地环境

  • 电脑操作系统:Windows11
  • MATLAB 版本:MATLAB 2021a
  • USRP 型号:USRP-N320
  • USRP 固件版本:UHD_3.15.0.0-vendor

二、前期准备

MATLAB 要能连接 USRP,需要 MATLAB 的 UHD 版本与 USRP 的固件版本相匹配,而安装 UHD,会在安装路径下有一个与该版本对应的一个 USRP 所用的固件,可以烧写到 USRP 中,使得版本匹配。

1、MATLAB版本、labview版本、UHD 版本对应关系

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

2、下载 GNU Radio Companion

GNU Radio Companion 是一个用来产生信号流程图及流程图源代码的图形化工具,这步大家可选择性进行安装,不是必须项,可跳过此步骤直接到 3、确定 USRP UHD 版本

下面是下载 GNU Radio Companion 的步骤

进入网址:https://wiki.gnuradio.org/index.php?title=InstallingGR,点击 Windows Radioconda installer
使用MATLAB连接USRP_第2张图片
下载完毕后,双击该文件进行安装,一路默认,直至安装成功。安装成功后,在 window 开始菜单中会显示下述图标。
使用MATLAB连接USRP_第3张图片

3、确定 USRP UHD 版本

①、下载一个 USRP 硬件驱动程序

1)这一步需要下载一个 USRP 硬件驱动程序

  • USRP 硬件驱动程序和用户手册:https://files.ettus.com/manual/page_install.html
    使用MATLAB连接USRP_第4张图片
  • 驱动安装包链接:https://files.ettus.com/binaries/uhd/
    选择 3.15 版本,点进去后选择 Windows-10-x64
    使用MATLAB连接USRP_第5张图片

2)安装 USRP 硬件驱动程序,我安装在了 D:\UHD 目录下,安装后如下图所示:
使用MATLAB连接USRP_第6张图片

打开终端,敲击 uhd_find_devices 查找设备(记得要将 USRP 通过网线连接到你的电脑网口)
使用MATLAB连接USRP_第7张图片
添加环境变量
使用MATLAB连接USRP_第8张图片
再次敲击 uhd_find_devices 查找设备
使用MATLAB连接USRP_第9张图片
可以看到 UHD 版本为 3.15,且可以找到当前所连接的 USRP。

②、确认 MATLAB 的 UHD 版本

getSDRuDriverVersion()

使用MATLAB连接USRP_第10张图片
可以看到 MATLAB 的 UHD 版本也是 3.15

三、下载 USRP 通信工具箱支持包

在 MathWorks 下载通信工具箱提供的 USRP 支持:https://www.mathworks.com/hardware-support/usrp.html

点击 Get support package 进行下载
使用MATLAB连接USRP_第11张图片

四、使用 MATLAB 连接 USRP

1、在 MATLAB 中打开刚刚下载的文件
使用MATLAB连接USRP_第12张图片
使用MATLAB连接USRP_第13张图片
2、弹出如下窗口,点击我接受
使用MATLAB连接USRP_第14张图片
3、弹出如下窗口,点击下一步进行下载 UHD 固件和 FPGA 镜像以及 UHD 预编译库
使用MATLAB连接USRP_第15张图片
MATLAB 2021a ---->21.1.3
使用MATLAB连接USRP_第16张图片

4、可以看到下载和安装进度,等待下载和安装成功
使用MATLAB连接USRP_第17张图片
5、安装完毕后,点击立即设置
立即设置后面的工作是给 USRP 烧录固件,如果不需要烧录固件,可以选择稍后设置。
使用MATLAB连接USRP_第18张图片
后面烧录固件的就按照提示做就可以,这里跳过了步骤。

6、打开 matlab 终端,输入 findsdru 查找设备
使用MATLAB连接USRP_第19张图片
成功找到设备。


我的qq:2442391036,欢迎交流!


你可能感兴趣的:(USRP,matlab,USRP,软件无线电)