-
大小: 3KB文件類(lèi)型: .m金幣: 1下載: 1 次發(fā)布日期: 2021-05-15
- 語(yǔ)言: Matlab
- 標(biāo)簽:
資源簡(jiǎn)介
該程序用于計(jì)算信號(hào)復(fù)合多尺度排列熵,matlab環(huán)境下程序
代碼片段和文件信息
%復(fù)合多處度排列熵(CMPE)
function?E=CMPE(iSigmts)
%?iSig:?input?signal;?m?:?embedded?dimension;?%?s:?scale?number
for?i=1:s
????E_change=zeros(1i);
????for?j=1:i
????????iSig_change=iSig(j:end);oSig=CoarseGrain(iSig_changei);E_change(j)=PE(oSigmt);
????end
????E(i)=mean(E_change);
end
%多尺度排列熵(MPE)
function?E=MPE(iSigmts)
%?iSig:?input?signal;?m?:?embedded?dimension;?%?s:?scale?number
for?i=1:1:s?%i?:?scale?index
????oSig=CoarseGrain(iSigi);?E(i)=PE(oSigmt);
end
%Coarse?Grain?Procedure.?See?Equation?(11)?%?iSig:?input?signal?;?s?:?scale?numbers?;?oSig:?output
function?oSig=CoarseGrain(iSigs)
????N=length(iSig);?%length?of?input?signal
for?i=1:1:N/s
????oSig(i)=mean(iSig((i-1)*s+1:i*s));
end
function?E=PE(sigmt)????%默認(rèn)延遲時(shí)間為t
N=length(sig);?%length?of?signal
v=[1:m];?%?m=3?v=[1?2?3];?m=5?v=[1?2?3?4?5]
all_pemu=perms(v);?%?generate?all?possible?permutations
perm_num=factorial(m);?%?calculate?m!?to?obtain?the?number?of?all?possible?permutations
for?i=1:1:perm_num
????key(i)=genkey(all_pemu(i:));?%transform?a?vector?into?an?integer;?ex:?[4?3?1?2]?==>?4321
end
pdf=zeros(1perm_num);?%initialize?frequency?array
for?i=1:1:N-t*(m-1)
????pattern=sig(i:t:i+t*(m-1));?%?obtain?pattern?vector?from?signal.?
????[Yorder]=sort(pattern);?%?sort?the?pattern?vector;?order?represents?the?permutation?order.
????pkey=genkey(order);?%transform?the?order?vector?into?an?integer.?
????id=find(key==pkey);?pdf(id)=pdf(id)+1;?
end
pdf=pdf/(N-t*(m-1));?%?normalize?the?frequency?array?to?obtain?probability?density?function.
%cal
評(píng)論
共有 條評(píng)論