发布时间:2023-01-17 09:30
MATLAB2013b
李氏指数(Lipschitz exponent),以德国数学家Rudolf Lipschitz命名,是一个描述比一般的连续可微更强的光滑性指数。具有一定条件的连续性称为李氏连续性。李氏指数α可用于描述信号的奇异性。一般来说,α越大,信号在该点就越光滑;α越小,则信号在该点的奇异性就越大。李氏指数是一个专用于描述函数光滑性的指数。一个函数如果存在无限次可导就称为光滑或没有奇异性,但它如果在某处有间断点或某阶导数不连续,通常叫做函数的奇异性,信号的奇异性通常用李氏指数来刻画。它与小波变换有着密切的关系,由小波变换描述信号奇异性的特点,我们不难得出,李氏指数也有描述奇异信号这一功能。李氏指数检测信号奇异性的结果简单明了,便于观察,具有很大的现实意义。
clc;
clear;
close all;
warning off;
addpath 'func\'
%%
%参数初始化
Len = 2048;%信号的长度
Noise_Power = 0.5; %产生的测试的干扰大小
select = 2; %选择信号
%%
%产生模拟的故障信号
[s_normal,s_error] = func_sig_gen(Len,Noise_Power);
figure;
subplot(211);plot(s_normal);title('正常信号');
subplot(212);plot(s_error);title('故障信号');
%%
%计算李氏指数
if select == 1
signal = s_normal;
end
if select == 2
signal = s_error;
end
%多个尺度小波变换
Ss = 1;
Ls = 32;
wt = CWT(signal,Ss:Ls,'gaus2');
%模极大点
Max_Pos = func_WMMT(wt,10);
%将小波变化后的每一级的对应的最大值相连
[Max_List,Ptr,Lengths] = func_find_Max_nlevel(Max_Pos,10);
%画出模极大曲线
figure;
for k=1:length(Ptr)
vec = Max_List(:,Ptr(k):Ptr(k) + Lengths(k)-1);
plot(vec(2,:),log2(vec(1,:)));
hold on;
end
axis([0,Len,0,6]);
xlabel('u');
ylabel('log2');
%计算Lipschitz指数
Lipschitz = func_cal_Lipschitz(Ptr,Max_List,wt,Lengths);
figure;
plot(Lipschitz,'r');
%%
%根据李氏指数的计算结果对故障信号检测
cnt = 0;
PP = [];
for i = 1:length(Lipschitz)
if abs(Lipschitz(i)) >= 4
cnt = cnt + 1;
PP(cnt) = i;
end
end
if isempty(PP) == 0
START = min(PP);
ENDS = max(PP);
figure;
plot(signal);title('故障检测');
hold on
plot(14*START,-10:0.1:10,'r');
hold on
plot(Len,-10:0.1:10,'r');
else
figure;
plot(signal);title('无故障');
end
首先加载数据:
然后计算李氏指数:
根据李氏指数进行故障检测分析:
A16-17
Vue+Openlayers加载Geoserver发布的TileWMS后更换shp数据源的流程
网页设计作业 旅游网站网站设计——绿色的随行旅游网站( 1页) 出行游玩网页设计作业,简单大学生静态HTML网页作品
Springboot + Vue + shiro 实现前后端分离、权限控制
HTG评论Google OnHub:Wi-Fi和Smarthome技术的融合(如果您愿意等待的话)
软件随想录(local.joelonsoftware.com/wiki)-2000年06月03日 策略书之三:让我换回去! - Strategy Letter III: Let Me Go Back!
C#基于BytesIO程序包的TCP Client客户端窗体程序
ITOP-i.MX8M mini开发板适用于充电桩,物联网,工业控制,医疗,智能交通