18、matlab信号生成与预处理--剔除异常值:hampel()函数

1、语法

说明:对输入向量x应用Hampel滤波器来检测和去除异常值。

1)y = hampel(x) 参数:x:输入信号 y:预处理的输出信号

对于x的每个样本,函数计算由样本及其周围的六个样本组成的窗口的中位数,每边三个。它还使用中位数绝对偏差估计每个样本关于其窗口中位数的标准偏差。如果样本与中位数相差超过三个标准差,则将其替换为中位数。如果x是一个矩阵,那么该函数将x的每一列视为一个独立的通道。

2)y,j = hampel(x) 参数:x:输入信号 y:预处理的输出信号 j:离群指数(0/1表示,1离群)

返回一个逻辑矩阵,该矩阵在标识为离群值的所有点的位置为真

3)y,j,xmedian,xsigma = hampel(x)

参数: x:输入信号 y:预处理的输出信号 j:离群指数(0/1表示,1离群) xmedian:中位数 xsigma:估计标准差

返回x的每个元素的局部中位数和估计标准差。

4)y = hampel(x,k) 参数:x:输入信号 y:预处理的输出信号 k:样本两侧数据数

指定测量窗口中x的每个样本两侧的邻居k的数量。K默认为3。

5)y = hampel(x,k,nsigma)

指定若干个标准差,x的样本必须与局部中位数不同,才能被替换为中位数。sigma默认为3。

2、单通道信号生成与预处理

1)单通道信号生成

代码

Matlab 复制代码
x = sin(4*pi*(0:199)/200);%输入值
x(6) = 2.5;%异常点1
x(20) = -3;%异常点2
x(120) = 2.5;%异常点3
x(180) = -3;%异常点4
n = 1:length(x);
figure(1)
plot(n,x,'color','r')%加入异常数据

视图效果

2)单通道信号处理:hampel()函数

代码

Matlab 复制代码
x = sin(4*pi*(0:199)/200);%输入值
x(6) = 2.5;%异常点1
x(20) = -3;%异常点2
x(120) = 2.5;%异常点3
x(180) = -3;%异常点4
n = 1:length(x);
figure(1)
plot(n,x,'color','r')%加入异常数据
hold on;
[y,j,xmedian,xsigma] = hampel(x,4);
plot(n,y,'^','color','g')%预处理数据
plot(n,xmedian,'^','color','b')%中位数
plot(n,xsigma,'*','color','y')%标准差
a=find(j);%find()函数:返回非零元素 索引
plot(a,x(j),'s','color','k')
legend('异常','预处理','中位数','估计标准差','离群点')

视图效果

3)单通道信号处理参数调整

代码

Matlab 复制代码
hampel(x,2)%调整k参数

k=2/4/6/8效果图

3、双通道信号生成与预处理

1)双通道信号生成

代码

Matlab 复制代码
rng('default')%控制随机函数生成
n = 100;
x = sin(pi./[10 20]'*(1:n)+pi/6)';%双通道信号生成
figure(1)
plot(x)
sy= randi(100,9,1);%添加异常参数的索引//100以内,9行1列的矩阵 
x(sy) = x(sy)*2.2;%添加异常参数
x(randi(100,6,1)) = NaN;%添加异常 缺失参数
figure(2)
plot(x)

视图效果

2)双通道信号处理(处理异常点和数据缺失)

代码:

Matlab 复制代码
figure(3)
y = hampel(x,4);
plot(y)
figure(4)
[y,j,xmedian,xsigma] = hampel(x,4,2);
plot(y)
hold on
plot(xmedian,'^')

试图效果

相关推荐
科恒盛远20 分钟前
ZU902 FMC194 可编程宽带信号源实测
fpga开发·硬件工程·信号处理
Niuguangshuo2 小时前
论文解读:CTC,端到端序列识别的开山之作
算法·语音识别
锋行天下3 小时前
LangGraph 1.2+ 新特性:set_node_defaults,批量统一节点策略
人工智能
找方案3 小时前
AI+人力资源:AI招聘面试的兴起与争议
人工智能·面试·职场和发展
日常通勤穿搭3 小时前
2026 电商 AI 作图工具推荐|淘宝抖音跨境商品主图 AI 生图测评
人工智能·aigc·ai工具·电商美工
讳疾忌医丶3 小时前
深度拆解 RocksDB 内核:基于 C++17 的 FIFO 调度状态机与温度阶梯自愈设计
java·c++·算法·架构
ZhengEnCi3 小时前
L2A-一个域名如何访问多台云服务器-子域名、路径前缀与Nginx反向代理选型指南
linux·人工智能
2601_963749103 小时前
越华环保集团污水站曝气系统边缘闭环控制架构与能耗优化实现
人工智能·架构
花酒锄作田3 小时前
FastAPI 使用 session 认证
python·fastapi
工业涂料百问3 小时前
【生产施工】系列(六)工业涂料固化方式怎么选?自然干 / UV / 电子束原理与选型实战
人工智能