CSI室内指纹定位——CSI数据说明

发布于:2023-01-09 ⋅ 阅读:(821) ⋅ 点赞:(0)

1、可以使用一台无线路由AP作为发射机(共2根发射天线),使用一台配备了Intel WiFi Link 5300无线网卡和Ubuntu操作系统的台式机作为接收机(共3根接收天线)来进行实验。还可以使用两台配备Intel5300网卡的台式机做实验,一台做发射机,一台做接收机。最后可以通过修改NIC的设备驱动程序,来读取每个数据包接收时以CSI的形式记录在硬件中的CSI值,并生成包含CSI信息的dat文件。这些dat文件是以二进制进行保存的,最后我们还要使用MATLAB或者Python程序来读取dat文件,从而获取丰富的csi信息。每个位置点测试1500个数据包。

2、使用MATLAB解析dat文件,显示1615*1个元胞数组,这些原胞数组包含了1615个1*1的结构体,每个结构体表示一个数据包的所有信息,包括了信道状态信息

010b14fc977746b092181892a992ab51.png

3、一个数据包的字段解释:

timestamp_low : 时间戳,相连两包此值差单位为微秒 此参数可以确定出波形的横轴时间

bfee_count : 驱动记录并发送到用户控件的波束测量值 的总数。可以用该变量来检测被丢弃的测量值

Nrx:接收端使用的天线数量

Ntx:发送端使用的天线数量 

rssi_a, rssi_b, rssi_c:由接收端NIC测量出的RSSI值

perm:展示NIC如何将3个接收天线的信号排列到3个RF链 上,上图中的数据表示天线A被发送到RF链A,天线B被发送 到RF链B,天线C被发送到RF链C。 

rate:发包频率

csi:csi值(后面详细解释)

410612d6fda3466d9ca34e4066581a20.png

 4、csi值矩阵说明

csi的值是一个n*m*30的复数矩阵,n表示发射天线的个数,m表示接收天线的个数,30是子载波个数。已知设备的发射天线为2根,接收天线为3根。复数形式为val=a+bi,我们可以得到复数的模 gif.latex?%5Csqrt%7Ba%5E2+b%5E2%7D   和相角 gif.latex?%5Ctheta%20%3DArctan%28b%2Ca%29,也就是对应的幅度和相位。matlab提供abs函数和angle函数可获取到该复数的幅值和相位。当然会由于硬件和环境带来的偏差导致相位难以处理,导致很多学者或者研究者放弃使用相位指纹。

5、提取的幅值和相位如下:

61a7d81624f345f891595539fe7fde13.png

caa730cffe254b4d9bca8907885d14bc.png

创作不易,尊重原创,因为存在博主直接剽窃,所以很多文章进行了删减,希望大家谅解。如有对室内CSI指纹定位感兴趣的可阅读下面的文章:

1、室内定位之CSI指纹定位_数产小黑娃的博客-CSDN博客

2、CSI室内指纹定位——相关通信名词解释_数产小黑娃的博客-CSDN博客

66b53385615046d18861282a38998f51.png

 

 

本文含有隐藏内容,请 开通VIP 后查看