function[pwaveTime,ratio,sta_buffer,lta_buffer]= aslta(Test_data)
m = length(Test_data);
sta_wnd = 0.1;
lta_wnd = 3;
trigger_threshold =3;
fs = 100;
x= fs*sta_wnd;
y= fs*lta_wnd;
i=1;
tr = 1;
trigLoc=zeros(m,1);
scal = 'mln';
for loop = 1:floor((m-y)/x)
windowed_data= wden(Test_data(i:i+y+x-1),'sqtwolog','s',scal,3,'db8');
disp(['Window Number' int2str(loop)])
lta_buffer(loop) = mean(abs(detrend(windowed_data(i:i+y-1))));
sta_buffer(loop) = mean(abs(detrend(windowed_data(i+y:i+y+x-1))));
ratio(loop) = sta_buffer(loop)/lta_buffer(loop);
if(ratio(loop)>=trigger_threshold)
trigLoc(tr)= loop;
lta_freeze = lta_buffer(loop);
tr = tr+1;
end
i = i+x;
pwaveData = trigLoc(1)*x;
pwaveTime = (pwaveData+y)/fs;
end
end
0 Comments
Sign in to comment.