因为我们通过CSI tool 在802.11n协议下获取到的CSI信号是在OFMD正交频分复用信号56个子载波中每隔一个采样的子载波的幅度和相位信息。采样子载波共30个。这些子载波的中心频率为5G Hz 载波之间的保护频率间隔是150k Hz左右。所以在短时间内就能获取到大量的CSI信息。但是由于我们最终的目的是实现一个实时系统,所以我们要将短时间内获取到的大量CSI信息进行压缩。但是我们是进行一个模式识别问题,所以CSI中蕴含的环境信息我们尽可能高保留,所以我们不能仅仅选择某些载波信号进行判断,因为不同环境下不同载波所反映的环境信息的权重是不同的,且动态变化的。同时也不能仅仅将所有载波信号简单叠加在一起然后求平均, 因为有些载波的衰落会削弱另一些载波在该时刻反应的剧烈环境信息变化。因此我们要将数据中包含大量‘信息’的成分提取出来。而这个信息量在数学中的衡量就是-方差。PCA 主成分提取正式这种算法,将数据中的方差整合压缩。在保证不丢失大量信息的前提下,大大减少数据量。
2 PCA主成分提取的原理以及步骤:通过PCA的全称:principle component analysis 可以知道这种数据分析方法是一种数据提取方法。其出发点是从一组特征中计算出一组按照重要性从大到小排列的新的特征,也就是说将原始的空间中的信息,数据在原始空间中的表现信息点:每一个信息就是一个向量,向量可以认为表现的从原点指向信息位置的有向线段。而PCA是将这些信息点映射到其他同维度的空间中。新特征空间中计算出一组按照重要性从大到小排列的新的特征,他们是原始特征空间中的线性组合,并且相互之间是不相关的。 Step1:将x1,x2….xp ;p个原始特征的列向量合并组成a。y1,y2,y3…yp.为p个新的特征。新的特征是原始特征的线性组合。 Step2: 为了统一新特征的尺度我们需要要求线性组合系数模为1. Step3:求A作为最优的正交变换,它可以使得新特征的方差达到极值。正交变换保证新特征空间不相关,而新特征的方差越大,则样本在该维特征上的差异就越大,该维特征就越重要,也就是所蕴含我们需要的信息量越大。 PCA部分代码如下:
%uncentralize for k=1:30 for i=1:990 Zk(i)=Hall(i,k)-mean(Hall(:,k)); end Z(:,k)=Zk; end %Z covariance C=cov(Z); % Eigenvector e, eigenvalue R [E,R]=eig(C); R=ones(1,30)*R;%The eigenvalues generated by the eig function are transformed into row vectors TZ_ER=[R;E]; TZ_ER=TZ_ER; %The eigenvectors are arranged in descending order according to the size of R TZ_ER=sortrows(TZ_ER,1,descend); R=TZ_ER(:,1);%Separating eigenvalues E=TZ_ER(:,2:end);%Separating eigenvectors Pca=zeros(30,1); E=E Pca=E(:,1);%chose the 1st pinciple component Y=Hall*Pca; apv=movvar(Y,50) figure(2) plot(apv,k,linewidth,3) xlabel(time(s)); ylabel(variance); title(movvar_PCA); figure(15) plot (Y); hold on title(afterPCA);提取第一主成分: 提取第二主成分: 提取第三主成分: 提取第四主成分: 从以上结果我们可以看出第一第二主成分几乎占据了所有的信息量即方差。
接下来我们对比不同动作PCA之后的结果 摔倒动作: 躺下动作: 走动动作: 坐下动作: 蹲下动作:
免责声明:文章内容来自互联网,本站不对其真实性负责,也不承担任何法律责任,如有侵权等情况,请与本站联系删除。
转载请注明出处:基于Wi-Fi CSI的摔倒检测(四):CSI数据处理-PCA降维(上) https://www.yhzz.com.cn/a/13232.html