Mercurial > hg > aimmat
view aim-mat/modules/usermodule/pitchstrength/reduce_tilt.m @ 4:537f939baef0 tip
various bug fixes and changed copyright message
author | Stefan Bleeck <bleeck@gmail.com> |
---|---|
date | Tue, 16 Aug 2011 14:37:17 +0100 |
parents | |
children |
line wrap: on
line source
function sig=reduce_tilt(sig,options) plot_switch=1; lowpassfactor=100; % relationship between Samplefrequency and lowpassfrequency % shift all values that are zero at the beginning to the first % positive value. This makes the lowpass continuous for high % frequencies sr=getsr(sig); stip=getvalues(sig); indx=find(stip>0); if ~isempty(indx) first_non_zero=stip(indx(1)); stip(1:indx(1))=first_non_zero; stip=[ones(200,1)*first_non_zero;stip]; end s=signal(stip,sr); s=reverse(s); s2=lowpass(s,sr/lowpassfactor); diff=s-s2; % s2=getpart(s2,0,getlength(sig)); if plot_switch figure(4) clf plot(s); hold on plot(s2,'r'); plot(diff,'g') axis([0 getnrpoints(sig) min(diff)-10 max(sig)+10]); end diff=getpart(diff,0,getlength(sig)); diff=reverse(diff); % return value sig=diff;