Mercurial > hg > aimmat
diff aim-mat/tools/@signal/rampamplitude.asv @ 3:20ada0af3d7d
various bugfixes and changed copywrite message
author | Stefan Bleeck <bleeck@gmail.com> |
---|---|
date | Tue, 16 Aug 2011 14:36:30 +0100 |
parents | 74dedb26614d |
children |
line wrap: on
line diff
--- a/aim-mat/tools/@signal/rampamplitude.asv Fri May 20 12:42:38 2011 +0100 +++ b/aim-mat/tools/@signal/rampamplitude.asv Tue Aug 16 14:36:30 2011 +0100 @@ -1,49 +1,41 @@ -% method of class @signal -% -% INPUT VALUES: -% -% RETURN VALUE: -% -% -% (c) 2003, University of Cambridge, Medical Research Council -% Stefan Bleeck (stefan@bleeck.de) -% http://www.mrc-cbu.cam.ac.uk/cnbh/aimmanual -% $Date: 2003/01/17 16:57:43 $ -% $Revision: 1.3 $ - -function sig=rampamplitude(sig,rt,type) - -if nargin < 3 - type='linear'; -end -if nargin < 2 - rt=0.01; -end - -if isequal(type,'linear') - sigvals=sig.werte; - nr_point=time2bin(sig,rt); - ramp=linspace(0,1,nr_point); - sigvals(1:nr_point)=sigvals(1:nr_point).*ramp'; - damp=linspace(1,0,nr_point); - sigvals(end-nr_point+1:end)=sigvals(end-nr_point+1:end).*damp'; -elseif isequal(type,'Cos^2') - sigvals=sig.werte; - nr_point=time2bin(sig,rt); - t=1:nr_point; - ramp=power(1+cos(t/nr_point*pi),2)/4; - plot(ramp) - sigvals(1:nr_point)=sigvals(1:nr_point).*ramp'; - damp=linspace(1,0,nr_point); - sigvals(end-nr_point+1:end)=sigvals(end-nr_point+1:end).*damp'; -end - - - -sig.werte=sigvals; - - - - - - +% method of class @signal +% +% INPUT VALUES: +% +% RETURN VALUE: +% +% +% (c) 2003-2011, University of Cambridge, Medical Research Council +% Maintained by Tom Walters (tcw24@cam.ac.uk), written by Stefan Bleeck (stefan@bleeck.de) +% http://www.pdn.cam.ac.uk/cnbh/aim2006 +% $Date: 2008-06-10 18:00:16 +0100 (Tue, 10 Jun 2008) $ +% $Revision: 585 $ + +function sig=rampamplitude(sig,rt,type) + +if nargin < 3 + type='linear'; +end +if nargin < 2 + rt=0.01; +end +if rt==0 + return +end + +if strcmp(type,'linear') + first_bin=1; + nr_point=time2bin(sig,rt); + last_bin=nr_point; + ramp=linspace(0,1,(last_bin-first_bin)); + sig=sig*ramp; + + first_bin=getnrpoints(sig)-nr_point; + start_time_hintere_rampe=bin2time(sig,first_bin); + last_bin=time2bin(sig,getlength(sig)); + damp=linspace(1,0,(last_bin-first_bin)); + try + sig=mult(sig,damp,start_time_hintere_rampe,rt); + end + p=1; +end