【信号变化检测】使用新颖的短时间条件局部峰值速率特征进行信号变化/事件/异常检测(Matlab代码实现)

简介: 【信号变化检测】使用新颖的短时间条件局部峰值速率特征进行信号变化/事件/异常检测(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥


🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。


⛳️座右铭:行百里者,半于九十。


📋📋📋本文目录如下:🎁🎁🎁


目录


💥1 概述


📚2 运行结果


🎉3 参考文献


🌈4 Matlab代码及文献


💥1 概述

文献来源:


06952d6731fe4a54aa64acea759e4551.png


摘要:本文提出了一种基于“条件局部峰值率”(CLPR)的信号变化/事件/异常检测方法。首先对CLPR特征进行了描述,并在此基础上介绍了该方法。CLPR计算算法作为用户自定义函数在Matlab®软件环境中实现,并使用实际数据进行了多次数值实验以进行验证和验证。将该方法与基于短时能量、短时过零率和短时峰度的三种经典检测方法进行了性能比较,结果表明了该方法的优越性。Matlab®实现的可访问性允许实验的可重复性,并促进该方法的实际应用。


关键词:时域,信号,数据,变化,事件,异常,检测。


原文摘要:


Abstract – In this paper, we present a method for signal change/event/anomaly detection based on a novel time-domain feature termed “conditional local peaks rate” (CLPR). First, the CLPR feature is described and further the method is introduced based on it. The CLPR calculation algorithm is implemented in the Matlab® software environment as a user-defined function and several numerical experiments are conducted with real-world data for sake of verification and validation. The performance of the proposed method is compared with three other classic detection methods based on the short-time energy, short-time zero-crossing rate and short-time kurtosis and the obtained results indicate its advantages. The accessibility of the Matlab® implementation allows repeatability of the experiments and facilitates the real practical application of the method. Keywords: time domain, signal, data, change, event, anomaly, detection.


204e991ec1254257b16861dba3bf5b96.png


本文使用逐帧方法和名为“条件局部峰值速率”(CLPR) 的新颖信号特征实现了一种新的基于时域的信号变化检测方法——本地信号峰值的速率高于其邻居的某个预定义阈值水平。所提出的特征的基本单位是“每个样品的局部峰”(lpps)。


为了阐明函数的用法,给出了几个实际示例。它们表明,CLPR可以作为数据中各种异常或事件的良好检测过程。这些例子表明,在大多数情况下,CLPR优于经典的变化检测方法——短时间能量、短时间过零率和短时间峰度。


📚2 运行结果


73bd0f06f45d406fa91986ae715f6a34.png

2959e060d8334f1c963b0c18670620f6.png

247d4c5439b14171a48773ab1d1f311f.png

2bb9c8b73f8e48a5b19cb2004aa3420b.png

1b240a1087eb47c9a72c7e665f73757d.png

0ceda95299a3408bbad1870064dd1917.png

f1b9932859d548abb0fea90fffc4390b.png

ac4f40ba59fe4a7fb3a2bb562fdf4a5f.png

0e89e48b23c4491bab936075c25556b1.png

1e21efd63899480481fd274be011a4bd.png


%% 最后一个运行结果图主函数 
clear, clc, close all
%% load data file
load data_5.mat                             % load data
fs = 16000;                                 % sampling frequency 
x = x/max(abs(x));                          % normalize the signal
N = length(x);                              % signal length
t = (0:N-1)/fs;                              % time vector
%% signal framing
frlen = round(50e-3*fs);                    % frame length
hop = round(frlen/2);                       % hop size
[FRM, tfrm] = framing(x, frlen, hop, fs);   % signal framing
%% determine the Short-time Energy
STE = sum(abs(FRM).^2);
%% determine the Short-time Zero-crossing Rate
STZCR = crossrate(FRM, 0);
%% determine the Short-time Kurtosis
STK = kurtosis(FRM);
%% determine the Short-time Conditional Local Peaks Rate
% minimum height difference between a peak and its neighbors
mindiff = 50e-3; 
% CLPR measurement
STCLPR = conlocpksrate(abs(FRM), mindiff);
%% plot the results
% plot the signal waveform
figure(1)
subplot(5, 1, 1);
plot(t, x, 'r')
grid minor
hold on
xlim([0 max(t)])
ylim([-1.1*max(abs(x)) 1.1*max(abs(x))])
set(gca, 'FontName', 'Times New Roman', 'FontSize', 14)
xlabel('Time, s')
ylabel('Amplitude, V')
title('The signal in the time domain')
% plot the STE
subplot(5, 1, 2)
plot(tfrm, STE, 'r')
grid minor
xlim([0 max(t)])
ylim([0 1.1*max(abs(STE))])
set(gca, 'FontName', 'Times New Roman', 'FontSize', 14)
xlabel('Time, s')
ylabel('Value, V^2')
title('Short-time Energy')
% plot the STZCR
subplot(5, 1, 3)
plot(tfrm, STZCR, 'r')
grid minor
xlim([0 max(t)])
ylim([0 1.1*max(abs(STZCR))])
set(gca, 'FontName', 'Times New Roman', 'FontSize', 14)
xlabel('Time, s')
ylabel('Value, cps')
title('Short-time ZCR')
% plot the STK
subplot(5, 1, 4)
plot(tfrm, STK, 'r')
grid minor
xlim([0 max(t)])
ylim([0 1.1*max(abs(STK))])
ylim([0 10])
set(gca, 'FontName', 'Times New Roman', 'FontSize', 14)
xlabel('Time, s')
ylabel('Value, /')
title('Short-time Kurtosis')
% plot the STLPR
subplot(5, 1, 5)
plot(tfrm, STCLPR, 'r')
grid minor
xlim([0 max(t)])
ylim([0 1.1*max(STCLPR)])
set(gca, 'FontName', 'Times New Roman', 'FontSize', 14)
xlabel('Time, s')
ylabel('Value, lpps')
title('Short-time CLPR')
%% mark the signal
DF = STCLPR > 1.5*mean(STCLPR);
subplot(5, 1, 1)
plot(tfrm, DF, 'k', 'LineWidth', 1)
legend('Signal', 'Detection flag', 'Location', 'SouthEast')


🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。


[1] H. Zhivomirov, N. Kostov. A Method for Signal Change Detection via Short-Time Conditional Local Peaks Rate Feature. Journal of Electrical and Electronics Engineering, ISSN: 1844-6035, Vol. 15, No. 2, Oct. 2022, pp. 106-109, 2022.


🌈4 Matlab代码及文献


相关文章
|
1月前
|
运维 算法
基于Lipschitz李式指数的随机信号特征识别和故障检测matlab仿真
本程序基于Lipschitz李式指数进行随机信号特征识别和故障检测。使用MATLAB2013B版本运行,核心功能包括计算Lipschitz指数、绘制指数曲线、检测故障信号并标记异常区域。Lipschitz指数能够反映信号的局部动态行为,适用于机械振动分析等领域的故障诊断。
|
3月前
|
机器学习/深度学习 算法
基于心电信号时空特征的QRS波检测算法matlab仿真
本课题旨在通过提取ECG信号的时空特征并应用QRS波检测算法识别心电信号中的峰值。使用MATLAB 2022a版本实现系统仿真,涵盖信号预处理、特征提取、特征选择、阈值设定及QRS波检测等关键步骤,以提高心脏疾病诊断准确性。预处理阶段采用滤波技术去除噪声,检测算法则结合了一阶导数和二阶导数计算确定QRS波峰值。
基于高通滤波器的ECG信号滤波及心率统计matlab仿真
**摘要:** 使用MATLAB2022a,实施高通滤波对ECG信号预处理,消除基线漂移,随后分析心率。系统仿真展示效果,核心代码涉及IIR HPF设计,如二阶滤波器的差分方程。通过滤波后的信号,检测R波计算RR间期,从而得到心率。滤波与R波检测是心电生理研究的关键步骤,平衡滤波性能与计算资源是设计挑战。
|
4月前
|
安全
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
本文介绍了2023年高教社杯数学建模竞赛D题的圈养湖羊空间利用率问题,包括问题分析、数学模型建立和MATLAB代码实现,旨在优化养殖场的生产计划和空间利用效率。
224 6
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
|
4月前
|
存储 算法 搜索推荐
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
本文提供了2022年华为杯数学建模竞赛B题的详细方案和MATLAB代码实现,包括方形件组批优化问题和排样优化问题,以及相关数学模型的建立和求解方法。
140 3
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
|
4月前
|
数据采集 存储 移动开发
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
本文介绍了2023年五一杯数学建模竞赛B题的解题方法,详细阐述了如何通过数学建模和MATLAB编程来分析快递需求、预测运输数量、优化运输成本,并估计固定和非固定需求,提供了完整的建模方案和代码实现。
107 0
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
|
7月前
|
数据安全/隐私保护
耐震时程曲线,matlab代码,自定义反应谱与地震波,优化源代码,地震波耐震时程曲线
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
基于混合整数规划的微网储能电池容量规划(matlab代码)
基于混合整数规划的微网储能电池容量规划(matlab代码)
|
7月前
|
算法 调度
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
|
7月前
|
Serverless
基于Logistic函数的负荷需求响应(matlab代码)
基于Logistic函数的负荷需求响应(matlab代码)

热门文章

最新文章

下一篇
DataWorks