www.gusucode.com > 小波模极大源代码,可用来进行小波降噪或小波模态参数识别 > 小波模极大源代码,可用来进行小波降噪或小波模态参数识别/code/模极大值程序.txt

    function md=MaxMode(W,L) 

Wmax=0;%求取第一个小波变换的模极大值 
tfirst=0;%求第一个小波变换模极大值点的时刻 

for i=1:5001 
md(i)=0; 
end 

for(i=1:1:4009) 
if(abs(W(i))>abs(Wmax)) 
Wmax=W(i); 
tfirst=i; 
end 
end 
%求取小波变换模极大值点。 
Wflag=abs(0.02*Wmax);%设定小波变换模极大值的门坎值 
tflag=tfirst+2*L/0.28; 
for(i=1:1:tflag) 
if((W(i+1)>Wflag)&(W(i+1)-W(i)>Wflag)) 
md(i+1)=W(i+1); 
elseif((W(i+1)<-Wflag)&(W(i+1)-W(i)<-Wflag)) 
md(i+1)=W(i+1); 
else 
md(i+1)=0; 
end 

end 

for(i=1:1:tflag) 
if((md(i)>0)&(md(i+1)>md(i))) 
md(i)=0; 
elseif((md(i)<0)&(md(i+1)<md(i))) 
md(i)=0; 
end 
end






% Wflag=abs(0.02*Wmax)是阀值可以自己定义; 
% tflag=tfirst+2*L/0.28是选取信号分析区间,这也是应该个人根据需求而定,不要死搬硬套:)
% 我这个程序里W代表信号,L代表输电线路长度(是用来截取信号分析区间的)