数据观察
对CSI的相邻数据的相位角进行unwrap之后可以发现存在线性误差和非线性误差. 线性误差体现在存在一定的斜率. 非线性误差体现在不是一条直线.
线性误差
整体思路:
对于图中的曲线进行拟合, 得到一条拟合直线方程, 然后可以在原来的CSI函数值的基础上, 减去拟合直线方程的函数值, 得到没有斜率的CSI.
斜率a的计算:
step one:假设把相位角写成这个样子
step two:对两个子载波应用公式
step three:得到a的表达式
问题就出在这里,因为我们不能确定这里的
什么时候可以去到比较小的函数值,按道理来说应该是相邻的两个子载波的
比较小,但是怎么处理呢?
但是参考论文里面都是这么写的哈哈,暂且认为正确吧。
b的计算
结果
需要注意的是,在除去
的同时,我们也除去了
,也就是说我们的相位被强制置零了。
如果只是除去ak不除去b的话,或者使用整个相位的平均值作为我们除去b之后的结果,就是这这个样子:
非线性误差
来源:
非线性误差主要由IQ不平衡引起,会导致子载波信号失真,并且遍布于所有子载波中。
ωc是子载波中心角频率,ϵA和ϵθ分别表示增益失配和相位失配。
参数拟合
使用下面的式子进行拟合, 得到一组参数值:
各个参数的含义如下:
为了匹配CSI数据曲线,采用了残差平方和最小原则,利用高斯-牛顿法求解,使用下面的r^2进行拟合度的检验,一般认为r^2 > 0.98就是比较不错的.
拟合效果:
CSI修正
参考文献
线性误差:
Sen S, Choudhury R R, Minka T. You are facing the Mona Lisa: spot localization using PHY layer information[C]// International Conference on Mobile Systems, Applications, and Services. ACM, 2012:183-196.
非线性误差
Perceiving Accurate CSI with Commodity WiFi Devices
图片参考
主要是个人学习,借鉴了某些组同学的论文, 在此表示感谢.
侵删.