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滤波处理后  

相关文章
|
数据采集 算法 数据处理
CSI数据预处理之卡尔曼滤波、高斯滤波、简单平均
CSI数据预处理之卡尔曼滤波、高斯滤波、简单平均
611 0
|
算法 索引 定位技术
如何使用MatLab对CSI的相位进行矫正
如何使用MatLab对CSI的相位进行矫正
696 0
|
Ubuntu Python 定位技术
CSI室内指纹定位——CSI数据说明
CSI室内指纹定位——CSI数据说明
507 0
|
机器学习/深度学习 数据采集 存储
室内定位之CSI指纹定位
室内定位之CSI指纹定位
900 0
|
9月前
|
算法 计算机视觉 Python
OpenCV均值、中值滤波器的讲解及实战应用(附Python源码)
OpenCV均值、中值滤波器的讲解及实战应用(附Python源码)
869 0
如何使用flask的 @app.context_processor 装饰器
如何使用flask的 @app.context_processor 装饰器
|
算法
算法|华为精英挑战赛赛前预备
算法|华为精英挑战赛赛前预备
118 0
CSI指纹预处理(中值、均值、Hampel、维纳滤波、状态统计滤波器)(二)
CSI指纹预处理(中值、均值、Hampel、维纳滤波、状态统计滤波器)(二)
209 0
|
SQL XML 存储
快速入门理解Mybatis——自定义框架实现数据库查询操作(二)
快速入门理解Mybatis——自定义框架实现数据库查询操作(二)
快速入门理解Mybatis——自定义框架实现数据库查询操作(二)
|
机器学习/深度学习 算法 计算机视觉
【数字通信】Matlab实现16QAM调制与解调,判决,误码率计算
【数字通信】Matlab实现16QAM调制与解调,判决,误码率计算
【数字通信】Matlab实现16QAM调制与解调,判决,误码率计算

热门文章

最新文章