csi数据包的分析和处理

时间:2024-04-06 08:42:02

搭载好环境后,根据官网的FAQ,完成用matlab分析处理matlab数据包
得到的一个 11 struct, 名字应该是 csi_entry,双击查看里面的数据,如下截图:
csi数据包的分析和处理
根据官网介绍:
timestamp_low必须为常量4,但现在为止,我只见过官方给的dat文件分析出来的timestamp_low是4,包括我收集的包,前期我注意过,每次都是一个很大的值,而且每次都不一样。
其他的我就不这里解释了,https://blog.csdn.net/qq_36751119/article/details/95630618
这篇是翻译官网介绍,也可以去官网看原版
csi数据包的分析和处理
就上图官网给的是一个常数,而不是i。 因为整个csi.dat 文件里面有很多包,根据官网获取的数据仅仅是某个数据包的30个子载波数据(我用的是intel5300 ,如果是Atheros 就是 56个子载波数据)。
根据接下来我的matlab脚本得到的是所有包的30个子载波数据。
csi数据包的分析和处理
运行脚本,在工作区可以看到出现的变量:
csi数据包的分析和处理
我获取的是三根天线的30个子载波数据平均值。矩阵shape是 数据包数
30

如果在分析时 出现以下这一行出错,而前面没错:
csi数据包的分析和处理
解决方法:
在工作区,delete csi_avg变量 ,不行就delete 所有变量,然后重新执行脚本

原因分析:
是因为在分析上一个dat文件里面的数据包比现在分析的dat文件的数据包数量小,csi_avg矩阵不能保存那么多数据包的子载波平均数据,所以出错