tomwalters@0: % method of class @frame tomwalters@0: % tomwalters@0: % INPUT VALUES: tomwalters@0: % tomwalters@0: % RETURN VALUE: tomwalters@0: % tomwalters@0: % tomwalters@0: % (c) 2003, University of Cambridge, Medical Research Council tomwalters@0: % Stefan Bleeck (stefan@bleeck.de) tomwalters@0: % http://www.mrc-cbu.cam.ac.uk/cnbh/aimmanual tomwalters@0: % $Date: 2003/01/17 16:57:46 $ tomwalters@0: % $Revision: 1.3 $ tomwalters@0: tomwalters@0: function sumsig=getweightedsum(fr,cutoff,db_per_octave,von,bis) tomwalters@0: % weights the frequency with some function (usually lowpass) tomwalters@0: tomwalters@0: if nargin<5 tomwalters@0: bis=getnrchannels(fr); tomwalters@0: end tomwalters@0: if nargin < 4 tomwalters@0: von=1; tomwalters@0: end tomwalters@0: tomwalters@0: if nargin < 2 tomwalters@0: cutoff=4000; tomwalters@0: end tomwalters@0: if nargin < 3 tomwalters@0: db_per_octave=6; % quality above tomwalters@0: end tomwalters@0: tomwalters@0: tomwalters@0: % number=getnrchannels(fr); tomwalters@0: cfs=getcf(fr); tomwalters@0: tomwalters@0: samplesig=getsinglechannel(fr,1); tomwalters@0: sumsig=signal(samplesig); tomwalters@0: sumsig=mute(sumsig); tomwalters@0: sumsig=setname(sumsig,sprintf('weighted sum of frame: %s',getname(fr))); tomwalters@0: tomwalters@0: for i=von:bis tomwalters@0: sig=getsinglechannel(fr,i); tomwalters@0: cur_fre=cfs(i); tomwalters@0: scaler=getfiltervalue(cur_fre,cutoff,db_per_octave); tomwalters@0: tomwalters@0: sig=sig*scaler; tomwalters@0: sumsig=sumsig+sig; tomwalters@0: tomwalters@0: end