资源简介
自己根据相关文献编写LMD分解程序,经过测试效果不错
代码片段和文件信息
function [PFSI]=lmd4(x)
% 局域均值分析
% 局域均值分析
x=x‘;
c = x‘;
N = length(x);
A= ones(1N);
PF = [];
SI=[];
aii = 2*A;
while(1)
si = c;
a = 1;
while(1)
h = si;
maxVec = [];
minVec = [];
% look for max and min point
for i = 2: N - 1
if h (i-1)< h (i)&h(i)>h(i+1)
maxVec = [maxVec i];
end
if h(i-1)>h (i)&h(i) minVec = [minVec i];
end
end
% check if it is residual
if (length (maxVec) + length (minVec)) < 3
break;
end
% handle end point
lenmax=length(maxVec);
lenmin=length(minVec);
%left end point
if h(1)>0
if(maxVec(1) yleft_max=h(maxVec(1));
yleft_min=-h(1);
else
yleft_max=h(1);
yleft_min=h(minVec(1));
end
else
if (maxVec(1) yleft_max=h(maxVec(1));
yleft_min=h(1);
else
yleft_max=-h(1);
yleft_min=h(minVec(1));
end
end
%right end point
if h(N)>0
if(maxVec(lenmax)
- 上一篇:小波变换matlab代码121047
- 下一篇:基于MATLAB的语音信号分析及滤波
评论
共有 条评论