- 博客(1)
- 收藏
- 关注
原创 使用 Linux CSI Tool 收集10分钟及以上的WiFi连续人体动作数据
参考网上教程,断断续续弄了很长时间,终于实现了用Intel 5300网卡在monitor模式下进行长时间的收发包,特留此贴记录,后续的数据标注等问题等做到再更新,如有问题敬请指正。
2024-09-10 20:10:49
1507
3
带有时间戳的CSI数据的读取脚本read-bf-file.m
这个修改版的 read_bf_file 函数主要进行了以下改进:
1.增加了时间戳的读取和存储功能,每次读取一个记录前先读取 8 字节的时间戳,使函数能够处理和返回每个CSI记录的时间信息。
2.调整了内存预分配和文件读取逻辑,以适应包含时间戳的新数据格式。
3.改进了错误处理机制,增加了数据完整性检查。
4.修改了函数签名和返回值,新增 timestamps 作为第二个输出参数。
5.更新了相关注释和代码结构,以提高可读性和维护性。
2024-09-14
带有时间戳的CSI数据可视化文件read3.m
修改了原先的MATLAB CSI可视化代码以匹配我们的数据格式:每个包为8字节时间戳(毫秒)、2字节长度和实际内容,在原幅度-包号的CSI图像上的基础上增加了幅度-时间的图像,并将数据包中的毫秒时间戳换算为了秒,增加了总收包时长的统计,可在图底看出,图像数据为3个接收天线各30个子载波。
使用方法:
将负责数据读取的read_bf_file.m文件替换后,修改可视化代码read.m代码中的数据包路径与名字“sample_data2/test6.dat”
数据可视化之后会在工作区显示出csi数据结构(如1x3x30),发送天线数Ntx,接收天线收Nrx,数据包总数csi_trace等
2024-09-14
为每个数据包写入时间戳的log-to-file.c
原本的log_to_file写入的数据没有时间戳,不方便数据标注,其它博主的修改版又改为创建多个带以时间戳命名的数据文件,虽然读起来方便,但太复杂。
下面的修改版简化了文件管理,把毫秒级的精确时间戳写入了每个数据包中,这样数据标注时应该能更精确。
修改的log_to_file代码在monitor.sh脚本启动时只创建一个输出文件,文件名由命令行参数指定,所有数据包都写入同一个文件,每个数据包包含8字节时间戳(毫秒)、2字节长度和实际内容,程序会一直运行直到被中断信号(Ctrl+C)终止,并且每100个数据包会打印一次状态信息,包括写入的字节数、数据包计数和时间戳。
将修改版本替换原本代码后,需要重新编译,依次执行如下命令:
cd linux-80211n-csitool-supplementary/netlink/
make clean
make
2024-09-11
TA创建的收藏夹 TA关注的收藏夹
TA关注的人