📄 forwardpeaktransform.m
字号:
function [H] = forwardPeakTransform(orgF, peakMap)
N = length(orgF);
truePeaks = zeros(1, N);
numTruePeaks = 0;
for k=1:N,
if(peakMap(k)>0)
numTruePeaks = numTruePeaks + 1;
truePeaks(numTruePeaks) = k;
end
end
numTruePeaks = numTruePeaks + 1;
truePeaks(numTruePeaks) = N;
H = orgF * 0;
upLinkH = H;
downLinkH = H;
ptrUpLinkH = 1;
ptrDownLinkH = 1;
pos1 = truePeaks(1);
upLinkH(1:pos1) = orgF(1, 1:pos1);
ptrUpLinkH = pos1;
linkFlag = 1;
for k=1:(numTruePeaks-1),
linkFlag = (-1) * linkFlag;
if(linkFlag > 0)
currPos = ptrUpLinkH;
pos0 = truePeaks(k);
pos1 = truePeaks(k + 1);
upLinkH(currPos:(currPos + pos1 - pos0)) = orgF(pos0:pos1) - orgF(pos0) + upLinkH(currPos);
ptrUpLinkH = currPos + pos1 - pos0;
else
currPos = ptrDownLinkH;
pos0 = truePeaks(k);
pos1 = truePeaks(k + 1);
downLinkH(currPos:(currPos + pos1 - pos0)) = orgF(pos0:pos1) - orgF(pos0) + downLinkH(currPos);
ptrDownLinkH = currPos + pos1 - pos0;
end
end
len = ptrUpLinkH + ptrDownLinkH - 1 ;
sft = upLinkH(ptrUpLinkH) - downLinkH(1);
H(1:len) = [upLinkH(1:ptrUpLinkH), downLinkH(2:ptrDownLinkH) + sft];
return;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -