USRP初学者使用手册(基础配置及bug记录)——Windows+MATLAB

文章目录


前言

提示:这里可以添加本文要记录的大概内容:


提示:以下是本篇文章正文内容,下面案例可供参考

一、安装matlab支持包

1.下载matlab自带的支持包下载器

支持包下载

https://ww2.mathworks.cn/support/install/support-software-downloader.html

2.下载支持包

(1)运行下载的exe,不用管这个版本号。

(2)自动运行完弹出matlab登录窗口,用自己在官网注册的账号登录即可

(3)选择自己电脑上的matlab版本,我电脑是R2022b

(4)选择支持包并将其安装在默认路径下(请勿修改此安装路径)。

3.安装支持包

(1)打开matlab.exe所在的文件夹,找到win64里的SupportSoftwareInstaller.exe

(2)输入账号和密码并点击下一步,软件将自动识别并显示出安装包的位置。选择安装包并点击下一步进行安装。

4.matlab验证成功

主页------附加功能------管理附加功能。查看硬件支持包是否安装成功


二、安装USB驱动(针对B205等USB连接设备)

1.下载USB驱动并解压

驱动下载

http://files.ettus.com/binaries/misc/erllc_uhd_winusb_driver.zip

2.连接设备,打开设备管理器

设备连接到电脑上的USB3.0 接口上,设备管理器显示其他设备------WestBridge

双击WestBridge,点击更新驱动程序。

若没有连接成功,手动选择USB驱动程序。

选择浏览我的电脑以查找驱动程序,并且选择解压好的USB驱动所在路径中的

erllc_uhd_winusb_drive 文件,并点击下一步。


三、配置以太网(针对X310等网口连接设备)

1.连接设备,设置以太网静态IP

设备连接到电脑上的网口上,用千兆网口转USB也可以(我的电脑没有网口)

打开电脑设置------网络和Internet------以太网

手动配置IP为192.168.10.1,掩码为255.255.255.0

2.查找设备

在matlab中运行findsdru,显示设备的详细IP地址

可以在cmd中运行ping 192.168.10.2检查是否连接成功


四、仿真设置

1.两台设备,一收一发------matlab双窗口

建议把发送和接收分成两个文件,电脑打开两个matlab窗口,先运行发送端代码。

在发送端已经开始发送后,运行接收端代码。

2.一台设备,自收自发------matlab单窗口

尝试用双窗口处理,设置不同的channel,但运行第二个程序时就会报错找不到设备,遂放弃。

报错信息:Unable to find radio with IP address '192.168.10.2'

在单窗口中处理很容易underrun或者直接失败。

只能把接收改成写入文件,后期再调用文件处理。

matlab 复制代码
% 主循环
tStart = tic;
while toc(tStart) < recordTime
    %发送
    tx(txFrame);
    %接收
    [data,len] = rx();
   if len > 0
        % 写入文件
        fwrite(fid, [real(data) imag(data)]', 'double');
   end
end

过程中遇到的问题

1.网络和Internet里没有以太网

首先,不要安装环回适配器!!!

环回适配器是一个虚拟的、仅在本机内部通信的设备,它无法用来连接真实的 USRP 硬件。

其次,确认你的设备开机了,线也都接好了,以太网就自动出现了。。

2.网卡 MTU 值不够

matlab运行报错:System send MTU size is less than the minimum required by

the IP protocol

这个报错出现很随机,一样的程序昨天没有今天有

(1)手动在设备管理器里设置MTU

Win+X → 设备管理器------网络适配器------Realtek USB GbE Family Controller(我的USB转网口设备)

右键属性------点 高级 选项卡------找 Jumbo Frame 或 巨型帧 选项

改成 9014 或最大值

(2)验证可以传输大数据包

cmd中

bash 复制代码
ping 192.168.10.2 -f -l 8000

3.传输失败

matlab运行报错(发送端):Transmit unsuccessfully: Could not execute UHD driver command in 'sendData_c': tx send error: sequence error
matlab运行报错(接收端):Receive unsuccessfully: Could not execute UHD driver command in 'receiveData_cont_c':receiveData:ErrTimeout Timed out on socket receive.

在主循环发送/接收的问题,需要修改仿真代码

相关推荐
玖釉-15 小时前
Vulkan 离屏渲染详解:从 Framebuffer 到后处理、阴影贴图与 Render Texture
c++·windows·计算机视觉·图形渲染
ghie909015 小时前
基于 MATLAB 的序贯蒙特卡洛概率假设密度多目标跟踪实现
开发语言·matlab·目标跟踪
峰上踏雪15 小时前
Windows 下最推荐的 Qt + VS2026 + CMake 开发方案
开发语言·windows·qt
s_nshine16 小时前
释放C盘,迁移studio相关数据到其他盘
android·windows·android studio·内存·c盘
Evand J16 小时前
【MATLAB例程】自适应渐消扩展卡尔曼滤波(AFEKF)三维雷达目标跟踪|效果已调优,附下载链接和运行结果,代码直接运行即可
开发语言·算法·matlab·目标跟踪·卡尔曼滤波·自适应滤波·代码定制
衫水17 小时前
Windows Server Nginx 代理企业内网 API 偶发超时处理与保活 SOP(20260608))
运维·windows·nginx
X_szxj18 小时前
Windows安装liboqs库
windows·github
caimouse18 小时前
Reactos 第 5 章 进程与线程 — 5.1 概述
c语言·windows·架构
玖釉-19 小时前
nvpro_core2 详解:NVIDIA Vulkan / OpenGL 图形样例背后的现代 C++ 基础库
c++·windows·图形渲染
RickyWasYoung19 小时前
【Matlab】科研绘图配色-极简版
开发语言·matlab