Wireshark USRP联合波形捕获
一、目标
尝试根据Wireshark绘制的波形:
根据Wireshark捕获数据包时间和长度绘制电脑发射信号波形-CSDN博客
从USRP捕获的多用户信号中分离自己电脑、路由器(或手机热点)的那部分:
电脑手机热点方式通信(下)-CSDN博客
二、信号采集参数设置
2.1 绝对时间
Wireshark捕获数据包时要用绝对时间:
USRP采集信号保存时命名中包含采样率、采集时长及采集时间等关键信息:
并且两台主机要提前做好时间同步:
同步Windows Wireshark和Ubuntu GNURadio数据捕获时间-CSDN博客
2.2 USRP采样率
USRP采样率取决于信号最高频率,2.4G WiFi信号带宽40MHz:
具体细节可以参考我的这篇博客:
Wireshark获取数据传输的码元速率-CSDN博客
B210主时钟61.44MHz,看来得都用上了。
Wireshark先运行,GNU Radio采集信号程序马上运行,10s后结束,Wireshark捕获随后停止。
GNU Radio采集信号程序:
Selected Rxsample rate (61.44 MHz)is greater than analog frontend filter bandwidth (56 MHz).
选择的接收采样率(61.44 MHz)超过了模拟前端滤波器的带宽(56 MHz)。
大写字母O代表 “Overrun(溢出)”。但它表示的是“成功避免了一次溢出”。当数据到达一个块(比如音频输出设备、USRP 设备、或任何接收端)的输入缓冲区时,如果缓冲区快要满了,GNU Radio 的调度器会立刻处理这个块的数据,防止数据丢失。每次它成功做到这一点,就会打印一个 O
。所以,看到 O
意味着你的流图正在高效地处理数据,防止了问题的发生。
小写字母x代表 “实际发生了溢出(Overrun)” 或 “欠载(Underrun)”。这是一个真正的错误信号。
2.3 USRP采集信号绘制
USRP采集信号绘制方法如下:
USRP采集信号转换为时频图数据集(上)-CSDN博客
2.4 Wireshark波形绘制
把192.168.1.103筛选出来:
用matlab读取:
%zhouzhichao
%2025年8月21日
%把Wireshark捕获的数据绘制为波形图clc
clear
close all% 读取 Excel 文件
data = readtable('D:\无线通信网络认知\通信学报\5G信号\Wireshark USRP联合波形捕获\only 192.168.1.103.xlsx');% 查看前几行
head(data)% 单独取出时间和长度
time = data.Time;
length = data.Length;
% 基本清洗
mask = ~isnan(time) & ~isnan(length);
time = time(mask);
length = length(mask);
读取结果:
有点问题啊,EXCEL里是绝对时间,怎么读出来就是0.70251-0.70269这些数值呢......
经过了解,大概明白了,这个0.70251就是一天24小时的0.70251,24小时=24*60分钟=24*60*60秒=86400秒。
K>> fprintf('%.8f\n', time(1));
0.70250519