CSI指纹预处理(中值、均值、Hampel、维纳滤波、状态统计滤波器)(一)

简介: CSI指纹预处理(中值、均值、Hampel、维纳滤波、状态统计滤波器)(一)

前言

因为设备、温度和实验室物品摆设等因素的影响,未经处理的CSI数据不能直接使用,需要对数据进行异常值处理以保证数据的稳定性,同时减少环境中人的活动、突发性干扰对CSI的影响,下面将简单探讨MATLAB自带的几种滤波器对CSI幅值数据的处理,一些升级版的滤波程序由你们自主思考。

1、箱线法

箱线法主要用于反映原始数据分布的特征,还可以进行多组数据分布特征的比较,我们可以先使用箱线法可视化异常值,下面给出了箱线法可视化异常值及箱线法对照图,感兴趣的可以自己去了解一下。

 图1 箱线法可视化异常值

2、中值滤波器

中值滤波是一种非线性滤波方法,可以有效去除信号中的噪声,同时保留信号中的边缘信息。中值滤波的基本思想是将信号中每个采样点的值替换为该点周围一定范围内的中值。


MATLAB中可以使用medfilt1函数对信号进行中值滤波。该函数的语法为:

y = medfilt1(x, w)

x表示我们要处理的数据;w表示均值滤波器的窗口大小,y表示滤波后的结果。

load('raw_amp');
best_amp= medfilt1(raw_amp, 5);
figure(1)
plot(raw_amp);
title('原始幅值');
ylabel('幅值');
figure(2)
plot(best_amp);
title('中值滤波');
ylabel('幅值');


中值滤波处理前后的幅值图像:

图3 中值滤波处理前

 图4 中值滤波处理后

3、均值滤波器

均值滤波是一种线性滤波方法,可以用于平滑信号,去除噪声。均值滤波的基本思想是将每个采样点的值替换为该点周围一定范围内的平均值。

MATLAB中可以使用smoothdata函数对信号进行均值滤波。该函数的语法为:

y = smoothdata(x, 'movmean', w)

x表示我们要处理的数据;w表示均值滤波器的窗口大小,y表示滤波后的结果。

best_amp2 = smoothdata(raw_amp, 'movmean', 5);
figure(3)
plot(raw_amp);
title('原始幅值');
ylabel('幅值');
figure(4)
plot(best_amp2);
title('均值滤波');
ylabel('幅值');


均值滤波处理前后的幅值图像:

图5 均值滤波处理前

图6 均值滤波处理后

4、Hampel滤波器

Hampel滤波是一种基于中位数的离群点检测和滤波方法。它通过对信号进行中位数滤波,并计算每个数据点与中位数之间的距离来识别离群点。如果距离大于某个阈值,则该数据点被视为离群点,并用中位数替换。该方法具有抗噪声能力和对离群点的较好识别能力。它常用于数据清洗、异常检测和信号预处理。


MATLAB中可以使用hampel函数对信号进行滤波。该函数的语法为:

y=hampel(x,k,nsigma)

x表示我们要处理的数据;k表示可指定窗口中每个样本周围的样本数,默认为3;nsigma表示指定几倍的标准差;y表示滤波后的结果。

great_data = hampel(raw_amp,5,2);
figure(5)
plot(1:1:30,raw_amp);
title('原始幅值');
ylabel('幅值');
figure(6)
plot(1:1:30,great_data);
title('Hampel低通滤波');
ylabel('幅值');

Hampel滤波处理前后的幅值图像:

图7  Hampel滤波处理前  

图8  Hampel滤波处理后  

相关文章
|
5月前
|
人工智能 自然语言处理 定位技术
从功能到场景:2025年数字人平台排名与实用推荐全攻略
面对繁多数字人平台,如何选型?本文从生成效率、质量、集成度等五大维度,深度评测2025年主流平台。必火AI凭借全链路智能创作、1分钟克隆+3分钟成片的高效流程,适配个人IP、企业营销、培训等场景,荣登榜首。附实用选型指南,助你精准决策,开启高效内容创作新时代。(238字)
747 41
|
6月前
|
机器学习/深度学习 传感器 分布式计算
基于模糊RBF神经网络轨迹跟踪研究(Matlab代码实现)
基于模糊RBF神经网络轨迹跟踪研究(Matlab代码实现)
276 1
|
弹性计算 运维 监控
【阿里云】操作系统控制台——体验与测评
### 操作系统控制台简介 操作系统控制台是阿里云提供的一款强大管理工具,支持通过API、SDK、CLI等方式进行运维管理。其可视化页面便于用户高效分析问题,降低使用复杂度,并替代专业人员提供指导意见。该控制台适用于中国内地和香港地区,需确保RAM用户具备相应权限并安装SysOM组件。它不仅提供了主机健康监控、系统诊断、进程热点追踪等功能,还帮助用户优化系统性能,确保业务稳定运行。 (239字)
|
机器学习/深度学习 计算机视觉
【YOLOv11改进 - 注意力机制】 MSDA(Multi-Scale Dilated Attention):多尺度空洞注意力
【YOLOv11改进 - 注意力机制】 MSDA(Multi-Scale Dilated Attention):多尺度空洞注意力本文介绍了一种高效的视觉变换器——DilateFormer,通过多尺度扩张注意力(MSDA)模块,在保持高性能的同时显著降低计算成本。MSDA通过在滑动窗口内模拟局部和稀疏的块交互,实现了多尺度特征聚合。实验结果显示,DilateFormer在ImageNet-1K分类、COCO对象检测/实例分割和ADE20K语义分割任务上均取得了优异的性能,且计算成本比现有模型减少70%。
【YOLOv11改进 - 注意力机制】 MSDA(Multi-Scale Dilated Attention):多尺度空洞注意力
|
数据可视化 数据安全/隐私保护
时序分解 | MATLAB实现基于SWD群体分解的信号分解分量可视化
时序分解 | MATLAB实现基于SWD群体分解的信号分解分量可视化
安装VS2015时出现“安装包丢失或损坏”
安装VS2015时出现“安装包丢失或损坏”
|
Ubuntu Python 定位技术
CSI室内指纹定位——CSI数据说明
CSI室内指纹定位——CSI数据说明
892 0
|
数据安全/隐私保护
时域与频域数据互相转换,傅里叶变换与逆傅里叶变换,matlab程序,时域转频域
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
|
机器学习/深度学习 Web App开发 数据挖掘
经典神经网络论文超详细解读(七)——SENet(注意力机制)学习笔记(翻译+精读+代码复现)
经典神经网络论文超详细解读(七)——SENet(注意力机制)学习笔记(翻译+精读+代码复现)
5052 1
经典神经网络论文超详细解读(七)——SENet(注意力机制)学习笔记(翻译+精读+代码复现)
|
域名解析 缓存 网络协议
探索Qt 网络编程:网络地址与服务类全解析
探索Qt 网络编程:网络地址与服务类全解析
576 0

热门文章

最新文章