使用MATLAB连接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 版本定为 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

下载完毕后,双击该文件进行安装,一路默认,直至安装成功。安装成功后,在 window 开始菜单中会显示下述图标。

3、确定 USRP UHD 版本

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

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

2)安装 USRP 硬件驱动程序,我安装在了 D:\UHD 目录下,安装后如下图所示:

打开终端,敲击 uhd_find_devices 查找设备(记得要将 USRP 通过网线连接到你的电脑网口)

添加环境变量

再次敲击 uhd_find_devices 查找设备

可以看到 UHD 版本为 3.15,且可以找到当前所连接的 USRP。

②、确认 MATLAB 的 UHD 版本

getSDRuDriverVersion()
• 1

可以看到 MATLAB 的 UHD 版本也是 3.15

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

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

点击 Get support package 进行下载

四、使用 MATLAB 连接 USRP

1、在 MATLAB 中打开刚刚下载的文件

2、弹出如下窗口,点击我接受

3、弹出如下窗口,点击下一步进行下载 UHD 固件和 FPGA 镜像以及 UHD 预编译库

MATLAB 2021a ---->21.1.3

4、可以看到下载和安装进度,等待下载和安装成功

5、安装完毕后,点击立即设置

立即设置后面的工作是给 USRP 烧录固件,如果不需要烧录固件,可以选择稍后设置。

后面烧录固件的就按照提示做就可以,这里跳过了步骤。

6、打开 matlab 终端,输入 findsdru 查找设备

成功找到设备。

目录
相关文章
|
10月前
|
机器学习/深度学习 算法 Windows
结合邻域连接法的蚁群优化(NACO)求解TSP问题(Matlab代码实现)
结合邻域连接法的蚁群优化(NACO)求解TSP问题(Matlab代码实现)
|
机器学习/深度学习 传感器 资源调度
回归预测 | MATLAB实现DNN全连接神经网络多输入多输出
回归预测 | MATLAB实现DNN全连接神经网络多输入多输出
|
机器学习/深度学习 存储 传感器
结合邻域连接法的蚁群优化(NACO)求解TSP问题附Matlab代码
结合邻域连接法的蚁群优化(NACO)求解TSP问题附Matlab代码
|
C++
c++调用matlab生成的Dll动态连接库
点击打开链接http://download.csdn.net/detail/nuptboyzhb/4228429 c++调用matlab生成的Dll动态连接库 实验平台:   matlab 7.0(R2009a)   VC++6.0思路:1. 设置matlab的编译器,使用外部的VC或者gcc等编译器。
1629 0
|
6天前
|
数据安全/隐私保护
地震波功率谱密度函数、功率谱密度曲线,反应谱转功率谱,matlab代码
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
|
6天前
|
数据安全/隐私保护
耐震时程曲线,matlab代码,自定义反应谱与地震波,优化源代码,地震波耐震时程曲线
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
基于混合整数规划的微网储能电池容量规划(matlab代码)
基于混合整数规划的微网储能电池容量规划(matlab代码)
|
6天前
|
算法 调度
面向配电网韧性提升的移动储能预布局与动态调度策略(matlab代码)
面向配电网韧性提升的移动储能预布局与动态调度策略(matlab代码)
|
6天前
|
算法 调度
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
|
6天前
|
运维 算法
基于改进遗传算法的配电网故障定位(matlab代码)
基于改进遗传算法的配电网故障定位(matlab代码)

热门文章

最新文章