基于Wi-Fi CSI的摔倒检测(四):CSI数据处理-PCA降维(上)

技术凯 2021-01-08 01:48:55 17435
1 为什么需要降维

  因为我们通过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');
3具体实现以及效果

提取第一主成分:


提取第二主成分:


提取第三主成分:


提取第四主成分:


从以上结果我们可以看出第一第二主成分几乎占据了所有的信息量即方差。

接下来我们对比不同动作PCA之后的结果
摔倒动作:

躺下动作:

走动动作:

坐下动作:

蹲下动作:

声明:本文内容由易百纳平台入驻作者撰写,文章观点仅代表作者本人,不代表易百纳立场。如有内容侵权或者其他问题,请联系本站进行删除。
红包 85 14 评论 打赏
评论
1个
内容存在敏感词
手气红包
  • 易豹化学品 2024-03-06 17:05:55
    回复
    可以这样理解吗,原本有30个载波的数据,经过pca降维以后提取第一主成分,就相当于把30个数据简化成一个数据,提取第一第二主成分,就是简化到两个数据?
相关专栏
置顶时间设置
结束时间
删除原因
  • 广告/SPAM
  • 恶意灌水
  • 违规内容
  • 文不对题
  • 重复发帖
打赏作者
易百纳技术社区
技术凯
您的支持将鼓励我继续创作!
打赏金额:
¥1易百纳技术社区
¥5易百纳技术社区
¥10易百纳技术社区
¥50易百纳技术社区
¥100易百纳技术社区
支付方式:
微信支付
支付宝支付
易百纳技术社区微信支付
易百纳技术社区
打赏成功!

感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~

举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

审核成功

发布时间设置
发布时间:
是否关联周任务-专栏模块

审核失败

失败原因
备注
拼手气红包 红包规则
祝福语
恭喜发财,大吉大利!
红包金额
红包最小金额不能低于5元
红包数量
红包数量范围10~50个
余额支付
当前余额:
可前往问答、专栏板块获取收益 去获取
取 消 确 定

小包子的红包

恭喜发财,大吉大利

已领取20/40,共1.6元 红包规则

    易百纳技术社区