1.一种基于Wi‑Fi信道状态信息的目标行为分割方法,包括以下步骤:步骤一:对CSI数据进行预处理;
假设由接收机采集到的CSI数据经数据解析以及通道矫正得到矩阵H,该矩阵经预处理后得到矩阵A其中,N为接收到的数据包数量,Ntx和Nrx分别为发射天线和接收天线的数量,Nsub为子载波数量,预处理的具体流程如下:首先对矩阵H中的每个数据进行取模,去除数据中的相位信息,然后对每个行向量进行去中心化处理,消除信号的静态成分,计算等式如下:其中,|·|表示取模运算;
步骤二:利用主成分分析法对矩阵A进行降维,抑制噪声的同时使得包含动作信息的CSI幅值更加凸显,具体方法如下所示:首先计算矩阵A的协方差矩阵,然后利用特征值分解求出该协方差矩阵的特征值及其对应的特征向量,最后利用转置后的矩阵A乘以第i个特征向量,获得第i个主成分,Thi=A×Ei
其中,hi为矩阵A的第i个主成分,维度为N×1,Ei为协方差矩阵第i个特征值对应的特征向量,维度为Nsub·Ntx·Nrx×1,在主成分分析法中,使用矩阵A的第二主成分h2;
步骤三:使用分段拟合去趋势法对步骤二所得到的第二主成分h2进行处理,得到向量T,步骤四:设置长度为K的滑窗,计算T的滑动方差V,V=[Vl]1×(N‑K+1);
假设第l个滑窗中包含的数据为[Tl,Tl+1,…,Tl+K‑1],则第l个滑窗数据的方差可表示为:步骤五:计算阈值M,设定窗口长度W;
根据步骤四,求得滑动方差V,下面需要根据滑动方差计算出一个自适应阈值M,用于动作分割,具体计算方法如下:首先对V进行升序排列,寻找排序后中较小一半的数值在排序前的原始索引值集合c;
然后在集合c中寻找最长的连续的索引值序列段,该序列段对应的滑动方差数据段表示原始信号中最稳定的不包含人体活动信息的数据段;最后利用核密度估计计算滑动方差数据段的概率密度分布和概率累计积分函数,当概率累计积分的值达到0.975时对应的积分上限则为最佳阈值M,窗口长度W设为发包速率RS的一半;
步骤六:根据步骤五得到滑动方差V,自适应阈值M和窗口长度W对动作进行分割,包括以下步骤:Step1:寻找滑动方差中的最大值MAX并与阈值M比较,若MAX比M小,则表示该段数据中无动作发生,反之,则表示该数据段存在动作,进行Step2;
Step2:记录MAX的索引indexMax,同时定义indexRt=indexLt=indexMax,在区间[indexRt,indexRt+N]中寻找Vl大于阈值M对应的索引值集合L1,若集合L1为空,则表示动作结束,且结束时间点为indexRt,若集合不为空,则寻找该集合中最大的元素iMax,将iMax的值赋予indexRt,并在新的[indexRt,indexRt+N]区间寻找Vl大于阈值M对应的索引值集合L1,经过此步后能够寻找出动作的结束时间点indexRt;
Step3:在区间[indexLt‑N,indexLt]中寻找Vl大于阈值M对应的索引值集合L2,若集合L2为空,则表示动作开始,且开始时间点为indexLt,若集合不为空,则寻找该集合中最小的元素iMin,将iMin的值赋予indexLt,并在新的[indexLt‑N,indexLt]区间寻找Vl大于阈值M对应的索引值集合L2,经过此步后能够寻找出动作的开始时间点indexLt;
Step4:将区间[indexLt,indexRt]对应的Vl置为0,再进行Step1、Step2、Step3;
经过上述步骤,可以有效地从原始数据中提取出动作发生时的数据段,同时,使用上述步骤对原始数据中包含多个不连续的动作进行分割仍然有效;
所述步骤三如下处理为:
首先将主成分h2分成若干个长度相等的数据段,然后利用最小二乘法对每个数据段进行多项式拟合,最后将每个数据段与对应的拟合数据作差,并将拟合误差数据按顺序重新组合构成向量T,具体流程如下:首先将第二主成分h2分为若干个长度为M的数据段,即
h2=[h2(W1),h2(W2),…,h2(Wk),…,h2(WN/M)]其中,Wk为数组[kM,kM+1,…,(k+1)M‑1],表示第k个数据段中每个数据的索引值,然后分别对各段数据进行拟合,如下式:T(Wk)=h2(Wk)‑fit(h2(Wk))
其中,fit(·)为基于最小二乘法的多项式拟合,从而得到:T=[T(W1),T(W2),…,T(Wk),…,T(WN/M)]下面为多项式拟合的实现过程:
假设数据段中有m个点,各个数据点为(xi,yi),拟合结果为:其中,a0,…,an为待求未知数,n为多项式的最高幂次,根据最小二乘法,使偏差平方和最小,即对上述系数求解可以转化为I=I(a0,a1,…,an)的极值问题,根据多元函数求极值的必要条件:即
使用矩阵的形式表示则为:
当给出需要进行拟合的点以及多项式拟合的最高次数时,即可求出拟合多项式的各系数,然后利用拟合前的点减去拟合后的点得到拟合残差,构成向量T,后续的数据处理均基于此数据。